home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / data / fapx / fapxview.plp < prev    next >
Text File  |  1994-11-16  |  62KB  |  2,629 lines

  1. /************************************************************************
  2. *    共通処理ルーチン                        *
  3. *************************************************************************/
  4. /*    FAPXDIR?.TMP を削除する    */
  5. %DELDIRF{
  6.     dispoff(!DEBUG);
  7.     case    (@tail(@version,{for },{ })={Win31},
  8.         {Yes},{command({command /c del }|TEMP2|{fapxdir?.tmp})},
  9.         {No},{command({del }|TEMP2|{fapxdir?.tmp})});
  10.     dispoff({No});
  11.     };
  12.  
  13. /*    ディクトリ一覧表示からの指定ファイル名取り出し    */
  14. %PickFile{
  15.     LineNo:= @xlinenum;
  16.     MemoLine:=@nolmemo(memono)-1;
  17.     line1:=    @case    (LineNo>MemoLine,
  18.             {Yes},
  19.             {
  20.             case(@getchar(@memo(memono,MemoLine,1),1,14)
  21.                     ={              }&&MemoLine>1,{Yes},
  22.                 {im(@memo(memono,MemoLine-1,1))},,
  23.                 {im(@memo(memono,MemoLine,1))})
  24.             },
  25.             {No},
  26.             {
  27.             case    (LineNo<=0,
  28.                 {Yes},{im(@memo(memono,1,1))},
  29.                 {No},
  30.                 {
  31.                 case(@getchar(@memo(memono,LineNo,1),1,14)
  32.                     ={              }&&LineNo>1,{Yes},
  33.                     {im(@memo(memono,LineNo-1,1))},,
  34.                     {im(@memo(memono,LineNo,1))})
  35.                 });
  36.             });
  37.     case(@getchar(line1,1,2)={  }||@getchar(line1,1,2)={+ },
  38.         {Yes},{file1:=@subdir(logdir,@head(@getchar(line1,3),{ }))},,
  39.         {
  40.         case(@nochar(@head(line1,{ }))<65,{Yes},
  41.             {file1:=@subdir(logdir,@head(line1,{ }))});
  42.         });
  43.     };
  44.  
  45. /*    CD辞書を検索する    */
  46. %cddic    {
  47.     SNDMSG({kaknin_f.snd});
  48.     footnote({CD-ROMに辞書をセットしてください});
  49.     select({CD-ROMに辞書をセットしてください},
  50.         Wtime4,,
  51.         {  O K  },
  52.         {
  53.         InactMemo;
  54.         %memono    @mlast+1;
  55.         case    (memono>9,
  56.             {Yes},
  57.             {footnote({これ以上メモを開けません});wait(1)},
  58.             {No},
  59.             {
  60.             madd(memono,{});
  61.             mopen(memono,0,161,639,379);
  62.             CDfind(memono);
  63.             });
  64.         },
  65.         {  いいえ  },
  66.         );
  67.     footnote({});
  68.     InactMemo;
  69.     mopen(memono,0,21,639,240,{w});
  70.     %memomax    @mlast;
  71.     var    memono1    [2];
  72.     memono1:=memono+2;
  73.     loop    ({
  74.         case(memono1<=memomax,{Yes},{mclose(1);mopen(memono1)});
  75.         memono1:=memono1+1;
  76.         im(memono1<=memomax);
  77.         });
  78.     mclose(1);
  79.     mopen(memono+1,0,181,639,459,{w});
  80.     im({Yes});
  81.     };
  82.  
  83. /*    アップ文書作成をキャンセルする    */
  84. %cancel    {
  85.     SNDMSG({kaknin_f.snd});
  86.     footnote({作成中の文書を取消しますか?});
  87.     select({作成中の文書を取消しますか?},
  88.         Wtime4,{footnote({});im({Yes})},
  89.         {  は  い  },
  90.         {
  91.         InactMemo;
  92.         delfile(TEMP2|{fapxmemo.bak});
  93.         mwrite(TEMP2|{fapxmemo.bak},memono+1);
  94.         DeleteMemo(memono+1);
  95.         footnote({});
  96.         im({No});
  97.         },
  98.         {  いいえ  },{footnote({});im({Yes})}
  99.         );
  100.     };
  101.  
  102. /*    アップ用文書を清書する    */
  103. %rewrite{
  104.     footnote({メモ}|memono+1|{を清書しています});
  105.     InactMemo;
  106.     %cdir @getcdir;
  107.     setcdir(CDIR);
  108.     delfile(TEMP2|{fapxtext.tmp});
  109.     delfile(TEMP2|{fapxtext.new});
  110.     mwrite(TEMP2|{fapxtext.tmp},memono+1);
  111.     dispoff(!DEBUG);
  112.     command({txf -f -i }|TEMP2|{fapxtext.tmp -o }|TEMP2|{fapxtext.new });
  113.     dispoff({No});
  114.     setcdir(cdir);
  115.     case    (@filechk(TEMP2|{fapxtext.new}),
  116.         {Yes},
  117.         {
  118.         mclear(memono+1);
  119.         mread(TEMP2|{fapxtext.new},memono+1);
  120.         mopen(memono,0,21,639,240,{w});
  121.         %memomax    @mlast;
  122.         var    memono1    [2];
  123.         memono1:=memono+2;
  124.         loop    ({
  125.             case(memono1<=memomax,{Yes},{mclose(1);mopen(memono1)});
  126.             memono1:=memono1+1;
  127.             im(memono1<=memomax);
  128.             });
  129.         mclose(1);
  130.         mopen(memono+1,0,181,639,459,{w});
  131.         },
  132.         {No},
  133.         {
  134.         display({清書機能には TXF.EXE がパスの通った}|
  135.             {ディレクトリに必要です\n});
  136.         wait(2);
  137.         mopen(memono,0,21,639,240,{w});
  138.         %memomax    @mlast;
  139.         var    memono1    [1];
  140.         memono1:=memono+2;
  141.         loop    ({
  142.             case(memono1<=memomax,{Yes},{mclose(1);mopen(memono1)});
  143.             memono1:=memono1+1;
  144.             im(memono1<=memomax);
  145.             });
  146.         mclose(1);
  147.         mopen(memono+1,0,181,639,459,{w});
  148.         });
  149.     setcdir(cdir);
  150.     im({Yes});
  151.     };
  152.  
  153. /*    他のファイルを参照するためにメモを開く    */
  154. %newmemo{
  155.     case    (@mlast==9,
  156.         {Yes},
  157.         {
  158.         footnote({メモ番号が一杯のため、新しいメモが開けません});
  159.         wait(2);
  160.         },
  161.         {No},
  162.         {
  163.         case(@mcheck!=0,{Yes},{mclose(1)});
  164.         %memono    @mlast+1;
  165.         madd(memono,{});
  166.         %file1    @filesel;
  167.         case    (file1<>{}&&@filechk(file1),
  168.             {Yes},{mread(file1,memono)}
  169.             );
  170.         mopen(memono,0,161,639,379);
  171.         });
  172.     im({Yes});
  173.     };
  174.  
  175. %l    {case    (level>9,{Yes},{im({_})},,{im(level)})};
  176.  
  177. %txldir    {
  178.     [level]
  179.     %dtf    TEMP2|{fapxdir}|@l|{.tmp};
  180.     %d1    @getline(dirlist,level+1,1);
  181.     %dv @case(DIVE,{Yes},{im({-r })},{No},{im({})});
  182.     %if @case(INFO,    {Yes},{im({-i })},
  183.             {Def},{im({-i -F })},
  184.             {No},{im({})});
  185.     %st @case(STYPE,{u},{im({})},,{im({-}|STYPE|DORD|FORD|{ })});
  186.     %sdir    @case(current=level||level>9,{Yes},{im(logdir)},,
  187.             {im(@head(d1,CRLF))});
  188.     case    (DEBUG,{Yes},
  189.         {display({logdir=}|logdir|CRLF|{current=}|current|{  }|
  190.             {level=}|level|{  }|{dirlist=}|d1)});
  191.     setcdir(CDIR);
  192.     dispoff(!DEBUG);
  193.     command({txl -dir }|dv|st|if|sdir|{ > }|dtf);
  194.     dispoff({No});
  195.     case    (logdir|CRLF=d1,
  196.         {No},
  197.         {
  198.         case    (level,
  199.             0,
  200.             {dirlist:=sdir|CRLF|
  201.                 @getline(dirlist,2)},
  202.             9,
  203.             {dirlist:=@getline(dirlist,1,9)|
  204.                 sdir|CRLF},
  205.             ,
  206.             {dirlist:=@getline(dirlist,1,level)|
  207.                 sdir|CRLF|
  208.                 @getline(dirlist,level+2);
  209.             });
  210.         });
  211.     };
  212.  
  213. %chkdirf{
  214.     [dir]    /* 引数で指定されたディレクトリの情報があれば更新する    */
  215.     case    (dir,{all},
  216.         {
  217.         dirlist:=CRLF|CRLF|CRLF|CRLF|CRLF|CRLF|CRLF|CRLF|CRLF|CRLF;
  218.         DELDIRF;
  219.         },
  220.         ,
  221.         {
  222.         var    n    [2];
  223.         var    x    [1];
  224.         n:=0;
  225.         loop    ({
  226.             case    (@getline(dirlist,n+1,1)=dir|CRLF,
  227.                 {Yes},
  228.                 {
  229.                 display({n=}|n|{-}|CRLF);
  230.                 txldir(n);x:=1;im({No})
  231.                 },
  232.                 {No},{n:=n+1;im(n<10)}
  233.                 );
  234.             });
  235.         case(x=1,{No},{txldir(10)});
  236.         });
  237.     };
  238.  
  239. %delIDX    {
  240.     footnote({インデックスファイルを調整します});
  241.     SNDMSG({kaknin_f.snd});
  242.     select    ({インデックスファイルを調整してもいいですか},
  243.         Wtime4,,
  244.         {  調整する  },
  245.         {
  246.         %cdir    @getcdir;
  247.         setcdir(CDIR);
  248.         dispoff(!DEBUG);
  249.         command({ctm -s}|SYSDIR|{ -!});
  250.         dispoff({No});
  251.         setcdir(cdir);
  252.         },
  253.         { 調整しない },
  254.         );
  255.     im({Yes});
  256.     };
  257.  
  258. /************************************************************************
  259. *    ログ参照メイン処理                            *
  260. *************************************************************************/
  261. %ViewLOG{
  262.     [logdir,memono,level]
  263.     case(DEBUG,{Yes},{display({ViewLOG(}|logdir|{)\n})});
  264.     InactMemo;
  265.     case    (logdir,
  266.         {*BACKLOG},{BackLog1},
  267.         ,
  268.         {
  269.         txldir(level);
  270.         case    (@filechk(TEMP2|{fapxdir}|@l|{.tmp})={Yes} &&
  271.              @fileleng(TEMP2|{fapxdir}|@l|{.tmp})>0,
  272.             {Yes},
  273.             {
  274.             %lineno @noline(@read(TEMP2|{fapxdir}|@l|{.tmp}));
  275.             case    (@filechk(@dir2(logdir)|{TITLE.TXT}),
  276.                 {Yes},{Viewtitle(logdir,memono)},
  277.                 {No},{Viewlog1}
  278.                 );
  279.             },
  280.             {No},
  281.             {
  282.             case(DEBUG,{Yes},{display(logdir|{ は空です\n})});
  283.             footnote({ }|logdir|{ は空です});wait(1);
  284.             });
  285.         });
  286.     DeleteMemo(memono);
  287.     setcdir(CDIR);
  288.     };
  289.  
  290. /************************************************************************
  291. *    ディレクトリ表示と選択処理                        *
  292. *************************************************************************/
  293. %Viewlog1{
  294.     %TREE    {
  295.         var    a    [6];
  296.         loop    ({
  297.             SNDMSG({erande_f.snd});
  298.             footnote({    戻る            }|
  299.                  { 木  森  草 草々    }|
  300.                  {調整    },{b});
  301.             waitx();
  302.             a:=@case(@xtype,
  303.                 102,{im({cancel})},    202,{im({cancel})},
  304.                 106,{ViewTREE(memono,{2})},
  305.                 206,{ViewTREE(memono,{2})},
  306.                 107,{ViewTRE2(memono,logdir,{2})},
  307.                 207,{ViewTRE2(memono,logdir,{2})},
  308.                 108,{ViewTREE(memono,{1})},
  309.                 208,{ViewTREE(memono,{1})},
  310.                 109,{ViewTRE2(memono,logdir,{1})},
  311.                 209,{ViewTRE2(memono,logdir,{1})},
  312.                 111,delIDX,    211,delIDX,
  313.                 ,{im({Yes})}
  314.                 );
  315.             });
  316.         im(a={cancel}||a={Yes});
  317.         };
  318.  
  319.     %TITLE    @case    (@filechk(@dir2(logdir)|{TITLE.TXT}),
  320.             {Yes},{im({表題})},{No},{im({    })});
  321.  
  322.     loop    ({
  323.         InactMemo;
  324.         case(@mlast>=memono,{Yes},{mclear(memono)});
  325.         case(@filechk(TEMP2|{fapxdir}|@l|{.tmp}),
  326.             {No},{txldir(level)});
  327.         madd(memono,@read(TEMP2|{fapxdir}|@l|{.tmp}));
  328.         mopen(memono,0,21,639,459,{r});
  329.         SNDMSG({erande_f.snd});
  330.         footnote({EXIT戻る表示BkLg}|TITLE|
  331.              {改名複写解凍TREE検索}|
  332.              {名前SORT},{b});
  333.         waitx();
  334.         case    (@xtype,
  335.             memono,Select1,
  336.             101,{FLG:={Return};im({No})},
  337.             201,{FLG:={Return};im({No})},
  338.             102,{im({No})},    202,{im({No})},
  339.             103,Select1,    203,Select1,
  340.             104,BackLog1,    204,BackLog1,
  341.             105,{txldir(level);im(TITLE<>{表題})},
  342.             205,{txldir(level);im(TITLE<>{表題})},
  343.             106,Rename1,    206,Rename1,
  344.             107,Copy1,    207,Copy1,
  345.             108,Extract1,    208,Extract1,
  346.             109,TREE,    209,TREE,
  347.             110,ViewLIBSEA,    210,ViewLIBSEA,
  348.             111,dirname,    211,dirname,
  349.             112,sortcag,    212,sortcag,
  350.             ,{im({Yes})}
  351.             );
  352.         });
  353.     };
  354.  
  355. /*    バックログの表示処理    */
  356. %BackLog1{
  357.     footnote({バックログデータ取り込み中    しばらくお待ちください});
  358.     LOGFILE:=TEMP2|{BACKLOG.TMP};
  359.     delfile(LOGFILE);
  360.     writelog(LOGFILE);
  361.     delfile(@dir2(SYSDIR)|{BACKLOG.000});
  362.     %m1    memono;
  363.     InactMemo;
  364.     case(@mlast>=m1,{Yes},{mclear(m1)});
  365.     sel1;
  366.     case(FLG,{Return},{im({No})},,{im({Yes})});
  367.     };
  368.  
  369. %sel1    {
  370.     %TREE    {
  371.         var    a    [6];
  372.         loop    ({
  373.             SNDMSG({erande_f.snd});
  374.             footnote({    戻る            }|
  375.                  { 木      草         }|
  376.                  {削除    },{b});
  377.             waitx();
  378.             a:=@case(@xtype,
  379.                 102,{im({cancel})},
  380.                 202,{im({cancel})},
  381.                 106,{ViewTRE2(m1,LOGFILE,{2})},
  382.                 206,{ViewTRE2(m1,LOGFILE,{2})},
  383.                 108,{ViewTRE2(m1,LOGFILE,{1})},
  384.                 208,{ViewTRE2(m1,LOGFILE,{1})},
  385.                 111,delIDX,    211,delIDX,
  386.                 ,{im({Yes})}
  387.                 );
  388.             });
  389.         im(a={cancel}||a={Yes});
  390.         };
  391.  
  392.     %UPDATE    {
  393.         var    a    [6];
  394.         loop    ({
  395.             SNDMSG({erande_f.snd});
  396.             footnote({    戻る            }|
  397.                  {更新削除            }|
  398.                  {        },{b});
  399.             waitx();
  400.             a:=@case(@xtype,
  401.                 102,{im({cancel})},
  402.                 202,{im({cancel})},
  403.                 106,updLOG,    206,updLOG,
  404.                 107,delLOG,    207,delLOG,
  405.                 ,{im({Yes})}
  406.                 );
  407.             });
  408.         im(a={cancel}||a={Yes});
  409.         };
  410.  
  411.     %EXTEND    {
  412.         var    a    [6];
  413.         loop    ({
  414.             SNDMSG({erande_f.snd});
  415.             footnote({    戻る            }|
  416.                  {解石PROF98罫        }|
  417.                  {        },{b});
  418.             waitx();
  419.             a:=@case(@xtype,
  420.                 102,{im({cancel})},
  421.                 202,{im({cancel})},
  422.                 106,ISH,    206,ISH,
  423.                 107,{PROFILE(LOGFILE)},
  424.                 207,{PROFILE(LOGFILE)},
  425.                 108,{JIS98(m1)},
  426.                 208,{JIS98(m1)},
  427.                 ,{im({Yes})}
  428.                 );
  429.             });
  430.         im(a={cancel}||a={Yes});
  431.         };
  432.  
  433.     mread(LOGFILE,m1);
  434.     mopen(m1,0,21,639,459,{w});
  435.     loop    ({
  436.         SNDMSG({erande_f.snd});
  437.         footnote({EXIT戻る            }|
  438.              {コメントPAD    TREE    }|
  439.              {変更拡張},{b});
  440.         waitx();
  441.         case    (@xtype,
  442.             101,{InactMemo;FLG:={Return};im({No})},
  443.             201,{InactMemo;FLG:={Return};im({No})},
  444.             102,{InactMemo;im({No})},
  445.             202,{InactMemo;im({No})},
  446.             106,{COMMENT(m1)},    206,{COMMENT(m1)},
  447.             107,{PADMAKE(m1)},    207,{PADMAKE(m1)},
  448.             109,{TREE},        209,{TREE},
  449.             111,{UPDATE},        211,{UPDATE},
  450.             112,{EXTEND},        212,{EXTEND},
  451.             m1,{COMMENT(m1)},
  452.             ,{im({Yes})}
  453.             );
  454.         });
  455.     im({Yes});
  456.     };
  457.  
  458. /* 1ログファイルの表示処理 */
  459. %Select1{
  460.     case(DEBUG,{Yes},{display({Select1(}|logdir|{)\n})});
  461.     PickFile;
  462.     case    (@body(line1,{<},{>})={DIR},
  463.         {Yes},
  464.         {
  465.         current:=current+1;
  466.         ViewLOG(@subdir(logdir,@head(line1,{ })),memono,level+1);
  467.         current:=current-1;
  468.         },
  469.         {No},
  470.         {
  471.         case    (@head(line1,{ }),
  472.             {TITLE.TXT},    {Viewtitle(logdir,memono)},
  473.             {会議室},    {Viewkaigi(logdir,memono,{k})},
  474.             {DL},        {Viewkaigi(logdir,memono,{d})},
  475.             {ID.TXT},    {Viewkaigi(logdir,memono,{i})},
  476.             ,
  477.             {
  478.             case    (@tail(@head(line1,{ }),{.}),
  479.                 {LZH},
  480.                 {ViewLZH(@subdir(logdir,@head(line1,{ })),
  481.                         memono)},
  482.                 {NAP},
  483.                 {ViewNAP(@subdir(logdir,@head(line1,{ })),
  484.                         memono)},
  485.                 {NPB},
  486.                 {ViewNAP(@subdir(logdir,@head(line1,{ })),
  487.                         memono)},
  488.                 {SGN},
  489.                 {Viewsign(@subdir(logdir,@head(line1,{ })),
  490.                         memono)},
  491.                 {RTN},
  492.                 {
  493.                 LOGFILE:=@subdir(logdir,@head(line1,{ }));
  494.                 %cdir    @getcdir;
  495.                 setcdir(CDIR);#FAPXVRTN.PLP;
  496.                 setcdir(cdir);
  497.                 },
  498.                 ,
  499.                 {
  500.                 LOGFILE:=@subdir(logdir, @head(line1,{ }));
  501.                 %m1    memono;
  502.                 InactMemo;
  503.                 case(@mlast>=m1,{Yes},{mclear(m1)});
  504.                 case    (@filechk(LOGFILE),
  505.                     {Yes},{sel1},
  506.                     {No},{im({Yes})}
  507.                     );
  508.                 });
  509.             });
  510.         });
  511.     case(FLG,{Return},{im({No})},,{im({Yes})});
  512.     };
  513.  
  514. /* ログファイル名の変更処理 */
  515. %Rename1{
  516.     PickFile;
  517.     footnote({ファイル名を変更しています});
  518.     case    (@body(line1,{<},{>})={DIR},
  519.         {Yes},
  520.         {
  521.         footnote({ディレクトリ名は変更できません});
  522.         wait(1);
  523.         },
  524.         {No},
  525.         {
  526.         SNDMSG({nyuryo_f.snd});
  527.         footnote({新しいファイル名を入力して下さい});
  528.         %file2    @input({新しいファイル名を入力して下さい},,
  529.                 @tail(file1,{\}));
  530.         case    (file2={}||file2=@tail(file1,{\})||
  531.             @filechk(@body(file1,,{\})|file2),
  532.             {No},
  533.             {
  534.             footnote({ファイル名を変更しています});
  535.             dispoff(!DEBUG);
  536.             command({rename }|file1|{ }|file2);
  537.             chkdirf(logdir);
  538.             });
  539.         });
  540.     im({Yes});
  541.     };
  542.  
  543. /* ログファイルの複写処理 */
  544. %Copy1    {
  545.     PickFile;
  546.     footnote({ファイルを複写します});
  547.     case    (@body(line1,{<},{>})={DIR},
  548.         {Yes},
  549.         {
  550.         footnote({ディレクトリは複写できません});
  551.         wait(1);
  552.         },
  553.         {No},
  554.         {
  555.         SNDMSG({erande_f.snd});
  556.         footnote({複写先を指定して下さい  複写元=}|file1);
  557.         setcdir(logdir);
  558.         %file2    @filesel;
  559.         %cdir1    @getcdir;
  560.         %cdir2    @dir2(cdir1);
  561.         case    (file2={},
  562.             {No},
  563.             {
  564.             footnote({ファイルを複写します});
  565.             dispoff(!DEBUG);
  566.             command({copy }|file1|{ }|cdir2|file2);
  567.             chkdirf(cdir1);
  568.             dispoff({No});
  569.             },
  570.             {Yes},
  571.             {case    (cdir1,logdir,,,
  572.                 {
  573.                 footnote({ファイルを複写します});
  574.                 dispoff(!DEBUG);
  575.                 command({copy }|file1|{ }|cdir1);
  576.                 chkdirf(cdir1);
  577.                 dispoff({No});
  578.                 });
  579.             });
  580.         });
  581.     im({Yes});
  582.     };
  583.  
  584. /* *.LZHファイルの解凍処理 */
  585. %Extract1{
  586.     PickFile;
  587.     footnote({圧縮形式ファイルの解凍を行います});
  588.     case    (@tail(file1,{.})={LZH},
  589.         {No},
  590.         {
  591.         footnote({圧縮ファイルでないので解凍できません});
  592.         wait(1);
  593.         },
  594.         {Yes},
  595.         {
  596.         %file @head(file1,{.});
  597.         %cdir    @getcdir;
  598.         setcdir(logdir);
  599.         SNDMSG({erande.snd});
  600.         footnote({解凍先のディレクトリに移動してキャンセルして下さい});
  601.         filesel;
  602.         footnote({圧縮ファイルを解凍しています});
  603.         InactMemo;
  604.         %cdir1    @getcdir;
  605.         %cdir2    @dir2(cdir1);
  606.         setcdir(CDIR);
  607.         dispoff(!DEBUG);
  608.         command({LHA X -m1 }|file|{ }|cdir2);
  609.         chkdirf(cdir1);
  610.         dispoff({No});
  611.         setcdir(cdir);
  612.         });
  613.     im({Yes});
  614.     };
  615.  
  616. %dirname{
  617.     PickFile;
  618.     %dis @head(@getchar(@head(line1,{ }),1,14),{.});
  619.     %nck @case(@body(@head(line1,{ }),{\}),{},
  620.         {im(@head(@getchar(line1,34),{\n}))},,
  621.         {im(@head(@body(line1,{<DIR>  }),{\n}))});
  622.     %fct @case(nck,{},{im({設定})},,{im({変更})});
  623.     footnote({ }|dis|{ の名前を}|fct|{します});
  624.     loop    ({
  625.         SNDMSG({nyuryo_f.snd});
  626.         %a @plane(
  627.             {c識別子及び名前を入力してください\nc\n}|
  628.             {t  識別子  /xxxxxxxxxxxxxx\n}|
  629.             {t  名前    /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}|
  630.             {\nc※ここで設定した情報を常に使いたい場合は、\n}|
  631.             {c  情報表示の設定を定義ファイルにして保存してください\n}|
  632.             {\nc\n}|
  633.             {s          / 設定 / 取消 },
  634.             dis,nck);
  635.         %dis    @head(@getline(a,1,1),{\n});
  636.         %ncx    @head(@getline(a,2,1),{\n});
  637.         %ok    @head(@getline(a,3,1),{\n});
  638.         case    (ok,
  639.             { 1},
  640.             {
  641.             case    (dis={},
  642.                 {No},
  643.                 {
  644.                 %tfl CDIR2|{FAPXTXL.SET};
  645.                 case    (@filechk(tfl),
  646.                     {No},
  647.                     {
  648.                     write(tfl,
  649.                         {&MYFORUM=}|LOG2|
  650.                         {MYFORUM.LOG}|CRLF);
  651.                     });
  652.                 %rtl @read(tfl);
  653.                 case    (nck,
  654.                     {},
  655.                     {write(tfl,{!}|dis|{=}|ncx|CRLF)},
  656.                     ,
  657.                     {
  658.                     case    (ncx<>nck,
  659.                         {Yes},
  660.                         {
  661.                         dispoff(!DEBUG);
  662.                         command({copy }|tfl|{ }|
  663.                             CDIR2|{FAPXTXL.BAK});
  664.                         dispoff({No});
  665.                         delfile(tfl);
  666.                         write(tfl,
  667.                         @replace(rtl,
  668.                             {!}|dis|{=}|nck|CRLF,
  669.                             {!}|dis|{=}|ncx|CRLF))
  670.                         })
  671.                     });
  672.                 INFO:={Def};
  673.                 chkdirf(logdir);
  674.                 chkdirf(setdir);
  675.                 });
  676.             im({No});
  677.             },
  678.             { 2},{im({No})},
  679.             ,{im({Yes})}
  680.             );
  681.         });
  682.     im({Yes});
  683.     };
  684.  
  685. /*    TXL -dirの設定変更    */
  686. %sortcag{
  687.     var     Info    [2];
  688.     var     Dive    [2];
  689.     var     Dord    [2];
  690.     var     Ford    [2];
  691.  
  692.     %sitst    {
  693.         case(STYPE,
  694.             {x},{im({ 特殊 })},{n},{im({ファイル名})},
  695.             {e},{im({拡張子})},{s},{im({サイズ})},
  696.             {d},{im({ 日付 })},{u},{im({非ソート })},
  697.             ,{im({ 特殊 })});
  698.         };
  699.     Info:=    @case(INFO,{Yes},{im({ 1})},{Def},{im({ 2})},
  700.             {No},{im({ 3})},,{im({ 1})});
  701.     Dive:=    @YesNo(DIVE,{1});
  702.     Dord:=    @case(DORD,{+},{im({ 1})},{-},{im({ 2})},,{im({ 1})});
  703.     Ford:=    @case(FORD,{+},{im({ 1})},{-},{im({ 2})},,{im({ 2})});
  704.     loop    ({
  705.         SNDMSG({erande_f.snd});
  706.         footnote({ログ参照時の条件を選択してください});
  707.         %a @plane(
  708.             {cログ参照時の条件を選択してください\n}|
  709.             {r  情報表示            /する/定義ファイル/しない\n}|
  710.             {r  ディレクトリ再帰検索     /する/しない\n}|
  711.             {c  ソート方法    現在 [}|@sitst|{]\n}|
  712.             {s               / 特殊 /ファイル名/拡張子}|
  713.                 {/サイズ/ 日付 /非ソート \n}|
  714.             {r  ソート順序(ディレクトリ) /昇順/降順\n}|
  715.             {r  ソート順序(ファイル)    /昇順/降順\n}|
  716.             {c  サイズソートの際のソート順序(ディレクトリ)及び、\n}|
  717.             {c    非ソートの際のソート順序の設定は意味を持ちません\n}|
  718.             {c  ※ここでの変更は一時的なものです\n}|
  719.             {s                      / 設定 / 取消 },
  720.             Info,Dive,Dord,Ford);
  721.         Info:=    @head(@getline(a,1,1),{\n});
  722.         Dive:=    @head(@getline(a,2,1),{\n});
  723.         %sel1    @head(@getline(a,3,1),{\n});
  724.         Dord:=    @head(@getline(a,4,1),{\n});
  725.         Ford:=    @head(@getline(a,5,1),{\n});
  726.         %ok    @head(@getline(a,6,1),{\n});
  727.         case    (sel1,
  728.             { 1},{STYPE:={x};im({Yes})},
  729.             { 2},{STYPE:={n};im({Yes})},
  730.             { 3},{STYPE:={e};im({Yes})},
  731.             { 4},{STYPE:={s};im({Yes})},
  732.             { 5},{STYPE:={d};im({Yes})},
  733.             { 6},{STYPE:={u};im({Yes})});
  734.         case    (ok,
  735.             { 1},
  736.             {
  737.             INFO:=    @case    (Info,
  738.                     { 1},{im({Yes})},
  739.                     { 2},
  740.                     {
  741.                     %tfl CDIR2|{FAPXTXL.SET};
  742.                     case    (@filechk(tfl),
  743.                         {No},
  744.                         {
  745.                         write(tfl,
  746.                             {MYFORUM=}|LOG2|
  747.                             {MYFORUM.LOG}|CRLF);
  748.                         });
  749.                     im({Def})
  750.                     },
  751.                     { 3},{im({No})},
  752.                     ,{im({Yes})}
  753.                     );
  754.             DIVE:=    @case    (Dive,
  755.                     { 1},{im({Yes})},{ 2},{im({No})},
  756.                     ,{im({Yes})});
  757.             DORD:=    @case    (Dord,
  758.                     { 1},{im({+})},{ 2},{im({-})},
  759.                     ,{im({+})});
  760.             FORD:=    @case    (Ford,
  761.                     { 1},{im({+})},{ 2},{im({-})},
  762.                     ,{im({-})});
  763.             chkdirf({all});
  764.             im({No});
  765.             },
  766.             { 2},{im({No})},
  767.             ,{im(sel1!=0)}
  768.             );
  769.         });
  770.     im({Yes});
  771.     };
  772.  
  773. /* 非圧縮ログファイルの削除処理 */
  774. %delLOG    {
  775.     footnote({ログファイルを削除します});
  776.     SNDMSG({kaknin_f.snd});
  777.     select({現在表示しているログファイルを削除します},
  778.         Wtime4,{im({Yes})},
  779.         {  削除する  },
  780.         {
  781.         InactMemo;
  782.         delfile(LOGFILE);
  783.         chkdirf(logdir);
  784.         im({No});
  785.         },
  786.         { 削除しない },{im({Yes})}
  787.         );
  788.     };
  789.  
  790. /* 非圧縮ログファイルの更新処理 */
  791. %updLOG    {
  792.     footnote({ログファイルを更新します});
  793.     SNDMSG({kaknin_f.snd});
  794.     select({現在表示しているログファイルを更新します},
  795.         Wtime4,{im({Yes})},
  796.         {  更新する  },
  797.         {
  798.         InactMemo;
  799.         delfile(LOGFILE);
  800.         mwrite(LOGFILE,memono);
  801.         chkdirf(logdir);
  802.         im({No});
  803.         },
  804.         { 更新しない },{im({Yes})}
  805.         );
  806.     };
  807.  
  808. /************************************************************************
  809. *    圧縮ファイルの表示処理                        *
  810. *************************************************************************/
  811. %ViewLZH{
  812.     [lzhfile,memono]
  813.     var    lv[2];lv:={L };
  814.     %lvdir    {
  815.         dispoff(!DEBUG);
  816.         %cdir1    @getcdir;
  817.         setcdir(CDIR);
  818.         command({LHA }|lv|lzhfile|{ > }|TEMP2|{_lzhdir.tmp});
  819.         setcdir(cdir1);
  820.         dispoff({No});
  821.         };
  822.     loop    ({
  823.         lvdir;
  824.         %lineno @noline(@read(TEMP2|{_lzhdir.tmp}));
  825.         InactMemo;
  826.         case    (lineno>8,
  827.             {Yes},viewlzh1,
  828.             {No},{display(lzhfile|{ はありません\n});im({No})}
  829.             );
  830.         });
  831.     InactMemo;
  832.     };
  833.  
  834. /* 圧縮ファイル内容の表示と選択処理 */
  835. %viewlzh1{
  836.     %TREE    {
  837.         var    a    [6];
  838.         loop    ({
  839.             SNDMSG({erande_f.snd});
  840.             footnote({    戻る            }|
  841.                  { 木  森             }|
  842.                  {調整    },{b});
  843.             waitx();
  844.             a:=@case(@xtype,
  845.                 102,{im({cancel})},    202,{im({cancel})},
  846.                 106,TreeLZH,    206,TreeLZH,
  847.                 107,WoodsLZH,    207,WoodsLZH,
  848.                 111,delIDX,    211,delIDX,
  849.                 ,{im({Yes})}
  850.                 );
  851.             });
  852.         im(a={cancel}||a={Yes});
  853.         };
  854.  
  855.     %clv {case(lv,{L },{lv:={V }},{V },{lv:={L }})};
  856.     %flv  @case(lv,{L },{im({階層})},{V },{im({標準})});
  857.     
  858.     case(@mlast>=memono,{Yes},{mclear(memono)});
  859.     madd(memono,@read(TEMP2|{_lzhdir.tmp},6,lineno-8));
  860.     mopen(memono,0,21,639,459,{r});
  861.     SNDMSG({erande_f.snd});
  862.     footnote({EXIT戻る表示    }|flv|
  863.          {改名    解凍TREE    }|
  864.          {        },{b});
  865.     waitx();
  866.     case    (@xtype,
  867.         101,{FLG:={Return};im({No})},
  868.         201,{FLG:={Return};im({No})},
  869.         102,{im({No})},    202,{im({No})},
  870.         103,select1,    203,select1,
  871.         105,{clv},205,{clv},
  872.         106,rename1,    206,rename1,
  873.         108,copy1,    208,copy1,
  874.         109,TREE,    209,TREE,
  875.         memono,select1,
  876.         ,{im({Yes})}
  877.         );
  878.     };
  879.  
  880. /* 圧縮1ログファイルの表示処理 */
  881. %select1{
  882.     %TREE    {
  883.         var    a    [6];
  884.         loop    ({
  885.             SNDMSG({erande_f.snd});
  886.             footnote({    戻る            }|
  887.                  { 木      草         }|
  888.                  {調整    },{b});
  889.             waitx();
  890.             a:=@case(@xtype,
  891.                 102,{im({cancel})},    202,{im({cancel})},
  892.                 106,{ViewTRE2(m1,LOGFILE,{2})},
  893.                 206,{ViewTRE2(m1,LOGFILE,{2})},
  894.                 108,{ViewTRE2(m1,LOGFILE,{1})},
  895.                 208,{ViewTRE2(m1,LOGFILE,{1})},
  896.                 111,delIDX,    211,delIDX,
  897.                 ,{im({Yes})}
  898.                 );
  899.             });
  900.         im(a={cancel}||a={Yes});
  901.         };
  902.     %UPDATE    {
  903.         var    a    [6];
  904.         loop    ({
  905.             SNDMSG({erande_f.snd});
  906.             footnote({    戻る            }|
  907.                  {更新削除            }|
  908.                  {        },{b});
  909.             waitx();
  910.             a:=@case(@xtype,
  911.                 102,{im({cancel})},    202,{im({cancel})},
  912.                 106,updLZH,        206,updLZH,
  913.                 107,delLZH,        207,delLZH,
  914.                 ,{im({Yes})}
  915.                 );
  916.             });
  917.         im(a={cancel}||a={Yes});
  918.         };
  919.     %EXTEND    {
  920.         var    a    [6];
  921.         loop    ({
  922.             SNDMSG({erande_f.snd});
  923.             footnote({    戻る            }|
  924.                  {解石PROF98罫        }|
  925.                  {        },{b});
  926.             waitx();
  927.             a:=@case(@xtype,
  928.                 102,{im({cancel})},    202,{im({cancel})},
  929.                 106,ISH,        206,ISH,
  930.                 107,{PROFILE(LOGFILE)},    207,{PROFILE(LOGFILE)},
  931.                 108,{JIS98(m1)},    208,{JIS98(m1)},
  932.                 ,{im({Yes})}
  933.                 );
  934.             });
  935.         im(a={cancel}||a={Yes});
  936.         };
  937.  
  938.     PickFile;
  939.     %lzhfile0 @case(lv,
  940.         {L },{im(@tail(file1,{\}))},
  941.         {V },{im(@replace(@head(line1,CRLF),{/},{\}))});
  942.     %cdir1    @getcdir;
  943.     setcdir(CDIR);
  944.     delfile(TEMP2|lzhfile0);
  945.     dispoff(!DEBUG);
  946.     case(lv,
  947.         {L },{command({LHA E -x0 }|lzhfile|{ }|TEMP2|{ }|lzhfile0)},
  948.         {V },{command({LHA X -m1 }|lzhfile|{ }|TEMP2|{ }|lzhfile0)});
  949.     dispoff({No});
  950.     setcdir(cdir1);
  951.     case    (@body(lzhfile0,{.}),
  952.         {NAP},{ViewNAP(TEMP2|lzhfile0,memono)},
  953.         {NPB},{ViewNAP(TEMP2|lzhfile0,memono)},
  954.         ,
  955.         {
  956.         %m1    memono;
  957.         InactMemo;
  958.         case(@mlast>=m1,{Yes},{mclear(m1)});
  959.         LOGFILE:=TEMP2|lzhfile0;
  960.         mread(TEMP2|lzhfile0,m1);
  961.         mopen(m1,0,21,639,459,{w});
  962.         loop    ({
  963.             SNDMSG({erande_f.snd});
  964.             footnote({EXIT戻る            }|
  965.                  {コメントPAD    TREE    }|
  966.                  {変更拡張},{b});
  967.             waitx();
  968.             case    (@xtype,
  969.                 101,{InactMemo;FLG:={Return};im({No})},
  970.                 201,{InactMemo;FLG:={Return};im({No})},
  971.                 102,{InactMemo;im({No})},
  972.                 202,{InactMemo;im({No})},
  973.                 106,{COMMENT(m1)},    206,{COMMENT(m1)},
  974.                 107,{PADMAKE(m1)},    207,{PADMAKE(m1)},
  975.                 109,{TREE},        209,{TREE},
  976.                 111,{UPDATE},        211,{UPDATE},
  977.                 112,{EXTEND},        212,{EXTEND},
  978.                 m1,{COMMENT(m1)},
  979.                 ,{im({Yes})}
  980.                 );
  981.             });
  982.         footnote({});
  983.         delfile(TEMP2|lzhfile0);
  984.         rmdir(TEMP2|@body(lzhfile0,,{\}));
  985.         case(FLG,{Return},{im({No})},,{im({Yes})});
  986.         });
  987.     };
  988.  
  989. /* 圧縮ログファイル名の変更処理 */
  990. %rename1{
  991.     PickFile;
  992.     footnote({ファイル名を変更します});
  993.     %file    @case(lv,
  994.         {L },{im(@tail(file1,{\}))},
  995.         {V },{im(@replace(@head(line1,CRLF),{/},{\}))});
  996.     %path    @body(file,,{\});
  997.     %file1    @tail(file,{\});
  998.     SNDMSG({nyuryo_f.snd});
  999.     footnote({新しいファイル名を入力して下さい});
  1000.     %file2    @input({新しいファイル名を入力して下さい},,file1);
  1001.     footnote({ファイル名を変更します});
  1002.     case    (file2={}||file2=file1,
  1003.         {No},
  1004.         {
  1005.         setcdir(TEMP);
  1006.         dispoff(!DEBUG);
  1007.         %cdir1    @getcdir;
  1008.         setcdir(CDIR);
  1009.         case(lv,
  1010.             {L },
  1011.             {
  1012.             case    (@getchar(line1,1,2),{+ },
  1013.                 {
  1014.                 SNDMSG({okasi_f.snd});
  1015.                 footnote({ディレクトリ付きで格納されています});
  1016.                 wait(1);
  1017.                 footnote({});
  1018.                 },,
  1019.                 {
  1020.                 command({LHA E -x0 }|lzhfile|{ }|
  1021.                     TEMP2|{ }|file);
  1022.                 command({rename }|TEMP2|file|{ }|file2);
  1023.                 command({LHA D }|lzhfile|{ }|file);
  1024.                 command({LHA A -x1 }|lzhfile|{ }|
  1025.                     TEMP2|{ }|file2);
  1026.                 delfile(TEMP2|file2);
  1027.                 chkdirf(@body(lzhfile,,{\}));
  1028.                 })
  1029.             },
  1030.             {V },
  1031.             {
  1032.             command({LHA X -m1 }|lzhfile|{ }|TEMP2|{ }|file);
  1033.             command({rename }|TEMP2|file|{ }|file2);
  1034.             command({LHA D }|lzhfile|{ }|file);
  1035.             command({LHA A -x1 }|lzhfile|{ }|
  1036.                 TEMP2|{ }|path|{\}|file2);
  1037.             delfile(TEMP2|path|{\}|file2);
  1038.             rmdir(TEMP2|path);
  1039.             chkdirf(@body(lzhfile,,{\}));
  1040.             });
  1041.         setcdir(cdir1);
  1042.         dispoff({No});
  1043.         });
  1044.     im({Yes});
  1045.     };
  1046.  
  1047. /* 圧縮ログファイルの解凍処理 */
  1048. %copy1    {
  1049.     PickFile;
  1050.     footnote({ファイルを解凍します});
  1051.     %file    @case(lv,
  1052.         {L },{im(@tail(file1,{\}))},
  1053.         {V },{im(@replace(@head(line1,CRLF),{/},{\}))});
  1054.     %file1    @tail(file,{\});
  1055.     SNDMSG({erande_f.snd});
  1056.     footnote({解凍先のファイルかディレクトリを指定して下さい});
  1057.     %cdir    @getcdir;
  1058.     setcdir(logdir);
  1059.     %file2    @filesel;
  1060.     footnote({ファイルを解凍します});
  1061.     %cdir1    @getcdir;
  1062.     %cdir2    @dir2(cdir1);
  1063.     case    (file2,{},
  1064.         {
  1065.         %path    @body(file,,{\});
  1066.         case(path={}&&@getchar(line1,1,2)={  },{Yes},
  1067.             {
  1068.             dispoff(!DEBUG);
  1069.             setcdir(CDIR);
  1070.             command({LHA E -x0 }|lzhfile|{ }|cdir2|{ }|file);
  1071.             dispoff({No});
  1072.             },
  1073.             ,
  1074.             {
  1075.             SNDMSG({erande_f.snd});
  1076.             footnote({ディレクトリ付きで格納されています});
  1077.             loop    ({
  1078.                 select({ディレクトリ構造も再現しますか?},
  1079.                     Wtime4,{im({Yes})},
  1080.                     {  再現する  },
  1081.                     {
  1082.                     footnote({ファイルを解凍します});
  1083.                     dispoff(!DEBUG);
  1084.                     setcdir(CDIR);
  1085.                     command({LHA X -m1 }|lzhfile|{ }|
  1086.                         cdir2|{ }|file);
  1087.                     dispoff({No});
  1088.                     im({No});
  1089.                     },
  1090.                     { 再現しない },
  1091.                     {
  1092.                     footnote({ファイルを解凍します});
  1093.                     dispoff(!DEBUG);
  1094.                     setcdir(CDIR);
  1095.                     command({LHA E -x0 }|lzhfile|{ }|
  1096.                         cdir2|{ }|file);
  1097.                     dispoff({No});
  1098.                     im({No});
  1099.                     });
  1100.                 });
  1101.             })
  1102.         },
  1103.         ,
  1104.         {
  1105.         dispoff(!DEBUG);
  1106.         setcdir(CDIR);
  1107.         command({LHA E -x0 }|lzhfile|{ }|cdir2|{ }|file);
  1108.         setcdir(cdir1);
  1109.         case    (file1=file2 || file2={*.*} ||@filechk(file2)={Yes}, 
  1110.             {No},{command({ren }|file1|{ }|file2)}
  1111.             );
  1112.         dispoff({No});
  1113.         });
  1114.     setcdir(cdir);
  1115.     chkdirf(cdir1);
  1116.     im({Yes});
  1117.     };
  1118.  
  1119. /* 圧縮モードのログファイルを削除する */
  1120. %delLZH    {
  1121.     footnote({ログファイルを削除します});
  1122.     SNDMSG({kaknin_f.snd});
  1123.     select({現在表示しているログファイルを削除します},
  1124.         Wtime4,{im({Yes})},
  1125.         {  削除する  },
  1126.         {
  1127.         InactMemo;
  1128.         dispoff(!DEBUG);
  1129.         %cdir1    @getcdir;
  1130.         setcdir(CDIR);
  1131.         command({LHA D }|lzhfile|{ }|lzhfile0);
  1132.         chkdirf(@body(lzhfile,,{\}));
  1133.         setcdir(cdir1);
  1134.         dispoff({No});
  1135.         im({No});
  1136.         },
  1137.         { 削除しない },{im({Yes})}
  1138.         );
  1139.     };
  1140.  
  1141. /* 圧縮モードのログファイルを更新する */
  1142. %updLZH    {
  1143.     footnote({ログファイルを更新します});
  1144.     SNDMSG({kaknin_f.snd});
  1145.     select({現在表示しているログファイルを更新します},
  1146.         Wtime4,{im({Yes})},
  1147.         {  更新する  },
  1148.         {
  1149.         InactMemo;
  1150.         delfile(TEMP2|lzhfile0);
  1151.         mwrite(TEMP2|lzhfile0,memono);
  1152.         dispoff(!DEBUG);
  1153.         %cdir1    @getcdir;
  1154.         setcdir(CDIR);
  1155.         command({LHA U -x1 }|lzhfile|{ }|TEMP2|{ }|lzhfile0);
  1156.         chkdirf(@body(lzhfile,,{\}));
  1157.         setcdir(cdir1);
  1158.         dispoff({No});
  1159.         im({No});
  1160.         },
  1161.         { 更新しない },{im({Yes})}
  1162.         );
  1163.     };
  1164.  
  1165. /* 圧縮1ログファイルのコメントツリー(木)表示処理 */
  1166. %TreeLZH{
  1167.     PickFile;
  1168.     %lzhfile0 @case(lv,
  1169.         {L },{im(@tail(file1,{\}))},
  1170.         {V },{im(@replace(@head(line1,CRLF),{/},{\}))});
  1171.     %lzhfile1    @tail(lzhfile0,{\});
  1172.     delfile(TEMP2|lzhfile1);
  1173.     %cdir1    @getcdir;
  1174.     setcdir(CDIR);
  1175.     dispoff(!DEBUG);
  1176.     command({LHA E -x0 }|lzhfile|{ }|TEMP2|{ }|lzhfile1);
  1177.     dispoff({No});
  1178.     setcdir(cdir1);
  1179.     ViewTRE2(memono,TEMP2|lzhfile1,{2});
  1180.     delfile(TEMP2|lzhfile1);
  1181.     case(FLG,{Return},{im({No})},,{im({Yes})});
  1182.     };
  1183.  
  1184. /* 圧縮複数ログファイルのコメントツリー(森)表示処理 */
  1185. %WoodsLZH{
  1186.     ViewTRE2(memono,lzhfile,{2});
  1187.     case(FLG,{Return},{im({No})},,{im({Yes})});
  1188.     };
  1189.  
  1190. /************************************************************************
  1191. *    表示中のファイル内のISHデータを解石する                *
  1192. *************************************************************************/
  1193. %ISH    {
  1194.     %cdir    @getcdir;
  1195.     footnote({解石ファイルを保存するディレクトリへ移動してキャンセルしてください});
  1196.     filesel;
  1197.     footnote({ISHデータ解石中});
  1198.     %cdir1    @getcdir;
  1199.     setcdir(CDIR);
  1200.     command({ISH }|LOGFILE|{ /r /m }|cdir1);
  1201.     chkdirf(cdir1);
  1202.     im({Yes});
  1203.     };
  1204.  
  1205. /************************************************************************
  1206. *    指定メモ内の98特殊文字をJIS文字に変換する            *
  1207. *************************************************************************/
  1208. %JIS98    {
  1209.     [memono]
  1210.     %cdir    @getcdir;
  1211.     footnote({98特殊文字をJIS文字に変換中});
  1212.     InactMemo;
  1213.     delfile(TEMP2|{fapxtxf.old});
  1214.     delfile(TEMP2|{fapxtxf.new});
  1215.     mwrite(TEMP2|{fapxtxf.old},memono);
  1216.     setcdir(CDIR);
  1217.     command({txf -a -n @}|CDIR2|{98_jis.txf -i }|
  1218.         TEMP2|{fapxtxf.old -o }|TEMP2|{fapxtxf.new});
  1219.     setcdir(cdir);
  1220.     mclear(memono);
  1221.     mread(TEMP2|{fapxtxf.new},memono);
  1222.     mopen(m1);
  1223.     im({Yes});
  1224.     };
  1225.  
  1226. %JIS98tre{
  1227.     [memono]
  1228.     %cdir    @getcdir;
  1229.     footnote({98特殊文字をJIS文字に変換中});
  1230.     InactMemo;
  1231.     delfile(TEMP2|{fapxtxf.old});
  1232.     delfile(TEMP2|{fapxtxf.new});
  1233.     mwrite(TEMP2|{fapxtxf.old},memono);
  1234.     setcdir(CDIR);
  1235.     command({txf -a -n @}|CDIR2|{98_jis.txf -i }|
  1236.         TEMP2|{fapxtxf.old -o }|TEMP2|{fapxtxf.new});
  1237.     setcdir(cdir);
  1238.     mclear(memono);
  1239.     mread(TEMP2|{fapxtxf.new},memono);
  1240.     mopen(memono-1,0,181,639,459,{r});
  1241.     mclose(1);
  1242.     im({Yes});
  1243.     };
  1244.  
  1245. /************************************************************************
  1246. *    NAPLPSファイル表示処理                        *
  1247. *************************************************************************/
  1248. %ViewNAP{
  1249.     [file,memono]
  1250.     CloseAllMemo;
  1251.     naplps(file);
  1252.     footnote({終了    再現        }|{                    }|
  1253.          {        },{b});
  1254.     loop    ({
  1255.         waitx();
  1256.         case    (@xtype,
  1257.             101,
  1258.             {
  1259.             napend;footnote({});
  1260.             mopen(memono,0,21,639,459,{w});im({No});
  1261.             },
  1262.             201,
  1263.             {
  1264.             napend;footnote({});
  1265.             mopen(memono,0,21,639,459,{w});im({No});
  1266.             },
  1267.             103,{napend;naplps(file);im({Yes})},
  1268.             203,{napend;naplps(file);im({Yes})},
  1269.             ,{im({Yes})}
  1270.             );
  1271.         });
  1272.     im({Yes});
  1273.     };
  1274.  
  1275. /************************************************************************
  1276. *    メールタイトルリストの処理(非圧縮の場合)                    *
  1277. *************************************************************************/
  1278. %Viewtitle{
  1279.     [logdir,memono]
  1280.     loop    ({
  1281.         InactMemo;
  1282.         case(@mlast>=memono,{Yes},{mclear(memono)});
  1283.         madd(memono,@read(@subdir(logdir,{TITLE.TXT})));
  1284.         mopen(memono,0,21,639,459,{r});
  1285.         SNDMSG({erande_f.snd});
  1286.         footnote({EXIT戻る表示    DIR }|
  1287.              {改名複写解凍    SLIM}|{        },{b});
  1288.         waitx();
  1289.         case    (@xtype,
  1290.             101,{FLG:={Return};im({No})},
  1291.             201,{FLG:={Return};im({No})},
  1292.             102,{im({No})},        202,{im({No})},
  1293.             103,{Select2;im({Yes})},203,{Select2;im({Yes})},
  1294.             105,{Viewlog1;im({Yes})},205,{Viewlog1;im({Yes})},
  1295.             106,{Rename2;im({Yes})},206,{Rename2;im({Yes})},
  1296.             107,{Copy2;im({Yes})},    207,{Copy2;im({Yes})},
  1297.             108,{Extract2;im({Yes})},
  1298.             208,{Extract2;im({Yes})},
  1299.             110,{ReduceTitle;im({Yes})},
  1300.             210,{ReduceTitle;im({Yes})},
  1301.             memono,{Select2;im({Yes})},
  1302.             ,{im({Yes})}
  1303.             );
  1304.         case(FLG,{Return},{im({No})});
  1305.         case(@filechk(@subdir(logdir,{TITLE.TXT})),{No},{im({No})});
  1306.         });
  1307.     };
  1308.  
  1309. /* 1ログファイルの表示処理(メールの場合) */
  1310. %Select2{
  1311.     %UPDATE    {
  1312.         var    a    [6];
  1313.         loop    ({
  1314.             SNDMSG({erande_f.snd});
  1315.             footnote({    戻る            }|
  1316.                  {更新削除            }|
  1317.                  {        },{b});
  1318.             waitx();
  1319.             a:=@case(@xtype,
  1320.                 102,{im({cancel})},    202,{im({cancel})},
  1321.                 106,updLOG,        206,updLOG,
  1322.                 107,{im(@delMAIL)},    207,{im(@delMAIL)},
  1323.                 ,{im({Yes})}
  1324.                 );
  1325.             });
  1326.         im(a={cancel}||a={Yes});
  1327.         };
  1328.     %EXTEND    {
  1329.         var    a    [6];
  1330.         loop    ({
  1331.             SNDMSG({erande_f.snd});
  1332.             footnote({    戻る            }|
  1333.                  {解石PROF98罫        }|
  1334.                  {        },{b});
  1335.             waitx();
  1336.             a:=@case(@xtype,
  1337.                 102,{im({cancel})},    202,{im({cancel})},
  1338.                 106,ISH,        206,ISH,
  1339.                 107,{PROFILE(LOGFILE)},    207,{PROFILE(LOGFILE)},
  1340.                 108,{JIS98(m1)},    208,{JIS98(m1)},
  1341.                 ,{im({Yes})}
  1342.                 );
  1343.             });
  1344.         im(a={cancel}||a={Yes});
  1345.         };
  1346.  
  1347.     PickFile;
  1348.     LOGFILE:=file1;
  1349.     case    (@filechk(LOGFILE),
  1350.         {Yes},
  1351.         {
  1352.         case    (@tail(LOGFILE,{.}),
  1353.             {LZH},{ViewLZH(LOGFILE,memono)},
  1354.             {lzh},{ViewLZH(LOGFILE,memono)},
  1355.             {NPB},{ViewNAP(LOGFILE,memono)},
  1356.             {npb},{ViewNAP(LOGFILE,memono)},
  1357.             {NAP},{ViewNAP(LOGFILE,memono)},
  1358.             {nap},{ViewNAP(LOGFILE,memono)},
  1359.             ,
  1360.             {
  1361.             %m1    memono;
  1362.             InactMemo;
  1363.             case(@mlast>=m1,{Yes},{mclear(m1)});
  1364.             mread(LOGFILE,m1);
  1365.             mopen(m1,0,21,639,459,{w});
  1366.             loop    ({
  1367.                 SNDMSG({erande_f.snd});
  1368.                 footnote({EXIT戻る            }|
  1369.                      {コメントPAD            }|
  1370.                      {変更拡張},{b});
  1371.                 waitx();
  1372.                 case    (@xtype,
  1373.                     101,{FLG:={Return};im({No})},
  1374.                     201,{FLG:={Return};im({No})},
  1375.                     102,{im({No})},    202,{im({No})},
  1376.                     106,{COMMENT(m1)},
  1377.                     206,{COMMENT(m1)},
  1378.                     107,{PADMAKE(m1)},
  1379.                     207,{PADMAKE(m1)},
  1380.                     111,{UPDATE},    211,{UPDATE},
  1381.                     112,{EXTEND},    212,{EXTEND},
  1382.                     m1,{COMMENT(m1)},
  1383.                     ,{im({Yes})}
  1384.                     );
  1385.                 });
  1386.             });
  1387.         },
  1388.         {No},{footnote(LOGFILE|{がありません});wait(2)}
  1389.         );
  1390.     case(FLG,{Return},{im({No})},,{im({Yes})});
  1391.     };
  1392.  
  1393. %delMAIL{
  1394.     case    (@delLOG,
  1395.         {No},    /* 削除する */
  1396.         {
  1397.         InactMemo;
  1398.         mclear(memono);
  1399.         %file3    @subdir(logdir,{TITLE.TXT});
  1400.         case    (LineNo-1 = 0,
  1401.             {No},{madd(memono,@read(file3,1,LineNo-1))});
  1402.         madd(memono,@read(file3,LineNo+1));
  1403.         mwrite(file3,memono);
  1404.         mopen(memono);
  1405.         im({No});
  1406.         },
  1407.         {Yes},{im({Yes})}
  1408.         );
  1409.     };
  1410.  
  1411. /* ログファイル名の変更処理 */
  1412. %Rename2{
  1413.     footnote({ファイル名を変更しています});
  1414.     PickFile;
  1415.     case    (@filechk(file1),
  1416.         {Yes},
  1417.         {
  1418.         SNDMSG({nyuryo_f.snd});
  1419.         footnote({新しいファイル名を入力して下さい});
  1420.         %file2    @input({新しいファイル名を入力して下さい},,
  1421.                 @head(@getchar(line1,32,12),{ }));
  1422.         footnote({ファイル名を変更しています});
  1423.         case    (file2={}||file2=@tail(file1,{\})||
  1424.             @filechk(@body(file1,,{\})|{\}|file2),
  1425.             {Yes},{InactMemo},
  1426.             {No},
  1427.             {
  1428.             InactMemo;
  1429.             dispoff(!DEBUG);
  1430.             command({rename }|file1|{ }|file2);
  1431.             dispoff({No});
  1432.             chkdirf(@body(file1,,{\}));
  1433.             case    (@filechk(@subdir(logdir,file2)),
  1434.                 {Yes},
  1435.                 {
  1436.                 mclear(memono);
  1437.                 %file3    @subdir(logdir,{TITLE.TXT});
  1438.                 case    (LineNo<=1,
  1439.                     {Yes},{},
  1440.                     {No},
  1441.                     {
  1442.                     madd(memono,@read(file3,1,LineNo-1));
  1443.                     });
  1444.                 madd(memono,@getchar(file2,1,12));
  1445.                 case    (@nochar(file2)<12,
  1446.                     {Yes},
  1447.                     {
  1448.                     var n [2];
  1449.                     n:=@nochar(file2);
  1450.                     loop    ({
  1451.                         madd(memono,{ });
  1452.                         n:=n+1;
  1453.                         im(n<12);
  1454.                         });
  1455.                     });
  1456.                 madd(memono,@getchar(@read(file3,LineNo,1),13));
  1457.                 madd(memono,@read(file3,LineNo+1));
  1458.                 mwrite(file3,memono);
  1459.                 });
  1460.             });
  1461.         });
  1462.          im({Yes});
  1463.     };
  1464.  
  1465. /* ログファイルの複写処理 */
  1466. %Copy2    {
  1467.     PickFile;
  1468.     footnote({ファイルを複写します});
  1469.     LOGFILE:=file1;
  1470.     case    (@filechk(LOGFILE),
  1471.         {Yes},
  1472.         {
  1473.         SNDMSG({erande_f.snd});
  1474.         footnote({複写先のファイル名を指定して下さい  複写元=}|LOGFILE);
  1475.         %file2    @filesel;
  1476.         case    (file2={},
  1477.             {No},
  1478.             {
  1479.             footnote({ファイルを複写します});
  1480.             dispoff(!DEBUG);
  1481.             command({copy }|LOGFILE|{ }|file2);
  1482.             chkdirf(logdir);
  1483.             dispoff({No});
  1484.             });
  1485.         },
  1486.         {No},{footnote(LOGFILE|{がありません});wait(1)}
  1487.         );
  1488.     im({Yes});
  1489.     };
  1490.  
  1491. /* *.LZHファイルの解凍処理 */
  1492. %Extract2{
  1493.     PickFile;
  1494.     footnote({圧縮形式ファイルの解凍を行います});
  1495.     LOGFILE:=file1;
  1496.     case    (@filechk(LOGFILE),
  1497.         {No},
  1498.         {
  1499.         footnote(LOGFILE|{がないので解凍できません});
  1500.         wait(1);
  1501.         },
  1502.         {Yes},
  1503.         {
  1504.         case    (@tail(LOGFILE,{.})={LZH}||@tail(LOGFILE,{.})={lzh},
  1505.             {No},
  1506.             {
  1507.             footnote(LOGFILE|{は解凍できません});
  1508.             wait(1);
  1509.             },
  1510.             {Yes},
  1511.             {
  1512.             %cdir    @getcdir;
  1513.             SNDMSG({erande.snd});
  1514.             footnote({解凍先のディレクトリに移動して}|
  1515.                 {キャンセルして下さい});
  1516.             filesel;
  1517.             footnote({ファイルを解凍しています});
  1518.             InactMemo;
  1519.             %cdir1    @getcdir;
  1520.             %cdir2    @dir2(cdir1);
  1521.             setcdir(CDIR);
  1522.             command({lha x }|LOGFILE|{ }|cdir2);
  1523.             chkdirf(cdir1);
  1524.             setcdir(cdir);
  1525.             mopen(memono,0,21,639,459,{r});
  1526.             });
  1527.         });
  1528.     im({Yes});
  1529.     };
  1530.  
  1531. /*    TITLE.TXTファイルの整理処理    */
  1532. %ReduceTitle{
  1533.     SNDMSG({kaknin_f.snd});
  1534.     select({ファイルが存在しないタイトルをリストより削除します},
  1535.         Wtime4,,
  1536.         {  実 行  },
  1537.         {
  1538.         case    (@filechk(TEMP2|{title.tmp}),
  1539.             {Yes},{delfile(TEMP2|{title.tmp})});
  1540.         fopen(@subdir(logdir,{TITLE.TXT}));
  1541.         loop    ({
  1542.             %ListLine @fread;
  1543.             footnote({ファイル:}|
  1544.                 @head(@getchar(ListLine,1,12),{ })|
  1545.                 {をチェック中});
  1546.             case    (ListLine <>{},
  1547.                 {Yes},
  1548.                 {
  1549.                 %CheckFile @subdir(logdir,
  1550.                                         @head(@getchar(ListLine,1,12),{ }));
  1551.                 case    (@filechk(CheckFile),
  1552.                     {Yes},
  1553.                     {write(TEMP2|{title.tmp},ListLine)}
  1554.                     );
  1555.                 im({Yes});
  1556.                 },
  1557.                 {No},
  1558.                 {im({No})}
  1559.                 );
  1560.             });
  1561.         fclose;
  1562.         delfile(@subdir(logdir,{TITLE.TXT}));
  1563.         dispoff(!DEBUG);
  1564.         command({copy }|TEMP2|{title.tmp }|@subdir(logdir,{TITLE.TXT}));
  1565.         dispoff({No});
  1566.         delfile(TEMP2|{title.tmp});
  1567.         },
  1568.         { 取 消 },{});
  1569.     };
  1570.  
  1571. /************************************************************************
  1572. *    CATLOG整理後の 会議室 ファイルの処理                *
  1573. *************************************************************************/
  1574. %Viewkaigi{
  1575.     [logdir,memono,ft]
  1576.     loop    ({
  1577.         InactMemo;
  1578.         case(@mlast>=memono,{Yes},{mclear(memono)});
  1579.         case(ft,
  1580.             {k},{madd(memono,@read(@subdir(logdir,{会議室})))},
  1581.             {d},{madd(memono,@read(@subdir(logdir,{DL})))},
  1582.             {i},{madd(memono,@read(@subdir(logdir,{ID.TXT})))});
  1583.         mopen(memono,0,21,639,459,{r});
  1584.         SNDMSG({erande_f.snd});
  1585.         footnote({EXIT戻る表示        }|
  1586.              {             木     }|{        },{b});
  1587.         waitx();
  1588.         case    (@xtype,
  1589.             101,{FLG:={Return};im({No})},
  1590.             201,{FLG:={Return};im({No})},
  1591.             102,{im({No})},        202,{im({No})},
  1592.             103,{Select3(ft)},    203,{Select3(ft)},
  1593.             109,{Tree3},        209,{Tree3},
  1594.             memono,{Select3(ft)},
  1595.             ,{im({Yes})}
  1596.             );
  1597.         });
  1598.     };
  1599.  
  1600. /*    ツリー表示(会議室の場合)    */
  1601. %Tree3    {
  1602.     LineNo:= @xlinenum;
  1603.     MemoLine:=@nolmemo(memono)-1;
  1604.     line1:=    @case    (LineNo>MemoLine,
  1605.             {Yes},
  1606.             {im(@memo(memono,MemoLine,1))},
  1607.             {No},
  1608.             {
  1609.             case    (LineNo<=0,
  1610.                 {Yes},    {im(@memo(memono,1,1))},
  1611.                 {No},    {im(@memo(memono,LineNo,1))}
  1612.                 );
  1613.             });
  1614.     LOGFILE:=@subdir(logdir,{MES}|
  1615.         @ZERO(@getchar(line1,1,2)+1-1,2)|{_00.TXT});
  1616.     display({*LOGFILE=}|LOGFILE|{*\n});
  1617.     ViewTRE2(memono,LOGFILE,{2});
  1618.     };
  1619.  
  1620. /* 1ログファイルの表示処理(会議室の場合) */
  1621. %Select3{
  1622.     [ft]
  1623.     %TREE    {
  1624.         var    a    [6];
  1625.         loop    ({
  1626.             SNDMSG({erande_f.snd});
  1627.             footnote({    戻る            }|
  1628.                  { 木      草         }|
  1629.                  {調整    },{b});
  1630.             waitx();
  1631.             a:=@case(@xtype,
  1632.                 102,{im({cancel})},    202,{im({cancel})},
  1633.                 106,{ViewTRE2(m1,LOGFILE,{2})},
  1634.                 206,{ViewTRE2(m1,LOGFILE,{2})},
  1635.                 108,{ViewTRE2(m1,LOGFILE,{1})},
  1636.                 208,{ViewTRE2(m1,LOGFILE,{1})},
  1637.                 111,delIDX,    211,delIDX,
  1638.                 ,{im({Yes})}
  1639.                 );
  1640.             });
  1641.         im(a={cancel}||a={Yes});
  1642.         };
  1643.     %UPDATE    {
  1644.         var    a    [6];
  1645.         loop    ({
  1646.             SNDMSG({erande_f.snd});
  1647.             footnote({    戻る            }|
  1648.                  {更新削除            }|
  1649.                  {        },{b});
  1650.             waitx();
  1651.             a:=@case(@xtype,
  1652.                 102,{im({cancel})},    202,{im({cancel})},
  1653.                 106,updLOG,        206,updLOG,
  1654.                 107,{delLOG;im({Yes})},    207,{delLOG;im({Yes})},
  1655.                 ,{im({Yes})}
  1656.                 );
  1657.             });
  1658.         im(a={cancel}||a={Yes});
  1659.         };
  1660.     %EXTEND    {
  1661.         var    a    [6];
  1662.         loop    ({
  1663.             SNDMSG({erande_f.snd});
  1664.             footnote({    戻る            }|
  1665.                  {解石PROF98罫        }|
  1666.                  {        },{b});
  1667.             waitx();
  1668.             a:=@case(@xtype,
  1669.                 102,{im({cancel})},    202,{im({cancel})},
  1670.                 106,ISH,        206,ISH,
  1671.                 107,{PROFILE(LOGFILE)},    207,{PROFILE(LOGFILE)},
  1672.                 108,{JIS98(m1)},    208,{JIS98(m1)},
  1673.                 ,{im({Yes})}
  1674.                 );
  1675.             });
  1676.         im(a={cancel}||a={Yes});
  1677.         };
  1678.     PickFile;
  1679.     case(ft,
  1680.         {k},
  1681.         {
  1682.         LOGFILE:=@subdir(logdir,{MES}|
  1683.             @ZERO(@getchar(line1,1,2)+1-1,2)|{_00.TXT});
  1684.         },
  1685.         {d},
  1686.         {
  1687.         LOGFILE:=@subdir(logdir,{LIB}|
  1688.             @ZERO(@getchar(line1,3,2)+1-1,2)|{.TXT});
  1689.         },
  1690.         {i},
  1691.         {LOGFILE:=@subdir(logdir,@getchar(line1,1,8)|{.ML0})},
  1692.         );
  1693.     case    (@filechk(LOGFILE),
  1694.         {Yes},
  1695.         {
  1696.         %m1    memono;
  1697.         InactMemo;
  1698.         case(@mlast>=m1,{Yes},{mclear(m1)});
  1699.         mread(LOGFILE,m1);
  1700.         mopen(m1,0,21,639,459,{w});
  1701.         loop    ({
  1702.             SNDMSG({erande_f.snd});
  1703.             footnote({EXIT戻る            }|
  1704.                  {コメントPAD    TREE    }|
  1705.                  {変更拡張},{b});
  1706.             waitx();
  1707.             case(@xtype,
  1708.                 101,{FLG:={Return};im({No})},
  1709.                 201,{FLG:={Return};im({No})},
  1710.                 102,{im({No})},        202,{im({No})},
  1711.                 106,{COMMENT(m1)},    206,{COMMENT(m1)},
  1712.                 107,{PADMAKE(m1)},    207,{PADMAKE(m1)},
  1713.                 109,{TREE},        209,{TREE},
  1714.                 111,{UPDATE},        211,{UPDATE},
  1715.                 112,{EXTEND},        212,{EXTEND},
  1716.                 m1,{COMMENT(m1)},
  1717.                 ,{im({Yes})}
  1718.                 );
  1719.             });
  1720.         },
  1721.         {No},
  1722.         {case(ft,
  1723.             {k},
  1724.             {footnote(@getchar(line1,1,4)|{番会議室}|
  1725.                 {の整理済ログがありません});wait(2)},
  1726.             {d},
  1727.             {footnote(@getchar(line1,1,4)|{番ライブラリ}|
  1728.             {の整理済ログがありません});wait(2)},
  1729.             {i},
  1730.             {footnote(@getchar(line1,1,8)|{の方からの}|
  1731.             {の整理済メールがありません});wait(2)}
  1732.             );
  1733.         });
  1734.     case(FLG,{Return},{im({No})},,{im({Yes})});
  1735.     };
  1736.  
  1737. /************************************************************************
  1738. *    看板ファイルの処理                        *
  1739. *************************************************************************/
  1740. %Viewsign{
  1741.     [file,memono]
  1742.     %fname @head(file,{SIGN\},{.SGN});
  1743.     %tmsp @head(@body(@read(file),{***  巡回日 }),{ });
  1744.     %date @getchar(tmsp,3,2)|@body(tmsp,{/},{/})|@tail(tmsp,{/});
  1745.     InactMemo;
  1746.     case(@mlast>=memono,{Yes},{mclear(memono)});
  1747.     mread(file,memono);
  1748.     mopen(memono,0,21,639,459,{w});
  1749.     loop    ({
  1750.         SNDMSG({erande_f.snd});
  1751.         footnote({EXIT戻る表示     林  森  木  樹 },{b});
  1752.         waitx();
  1753.         case    (@xtype,
  1754.             101,{FLG:={Return};im({No})},
  1755.             201,{FLG:={Return};im({No})},
  1756.             102,{im({No})},        202,{im({No})},
  1757.             103,{SelectS},        203,{SelectS},
  1758.             106,{WoodS({c})},    206,{WoodS({c})},
  1759.             107,{WoodS({w})},    207,{WoodS({w})},
  1760.             108,{TreeS({t})},    208,{TreeS({t})},
  1761.             109,{TreeS({b})},    209,{TreeS({b})},
  1762.             memono,{SelectS},
  1763.             ,{im({Yes})}
  1764.             );
  1765.         })
  1766.     };
  1767.  
  1768. /*    ツリー表示(フォーラム)    */
  1769. %WoodS    {[type]
  1770.     %wdir @case(COMPRESS={Yes}&&@filechk(ARCHIVER)={Yes}&&type={c},
  1771.         {Yes},
  1772.         {
  1773.         %stack    @case(LOGmode,{forum},{im(fname)},,{im({Niftylog})});
  1774.         command(ARCHIVER|{ E }|LOG2|stack|{ }|TEMP2|{ }|@wildc);
  1775.         im(TEMP2|@wildc);
  1776.         },
  1777.         {No},{im(LOG2|@fe|@wc)});
  1778.     ViewTRE2(memono,wdir,{2 -B}|fname|{ -});
  1779.     case(COMPRESS={Yes}&&@filechk(ARCHIVER)={Yes}&&type={c},
  1780.         {Yes},
  1781.         {
  1782.         dispoff(!DEBUG);
  1783.         command({del }|TEMP2|@wildc);
  1784.         dispoff({No});
  1785.         })
  1786.     };
  1787.  
  1788. /*    ツリー表示(会議室)    */
  1789. %TreeS    {[type]
  1790.     PickFile;
  1791.     %wdir @case(COMPRESS={Yes}&&@filechk(ARCHIVER)={Yes}&&type={t},
  1792.         {Yes},
  1793.         {
  1794.         %stack    @case(LOGmode,{forum},{im(fname)},,{im({Niftylog})});
  1795.         command(ARCHIVER|{ E }|LOG2|stack|{ }|TEMP2|{ }|@wildc);
  1796.         im(TEMP2|@wildc);
  1797.         },
  1798.         {No},{im(LOG2|@fe|@wc)});
  1799.     case    (@getchar(line1,17,4),{)   },
  1800.         {
  1801.         %n @getchar(line1,1,2)+1-1;
  1802.         ViewTRE2(memono,wdir,{2 -B}|fname|{ -M}|n|{ -});
  1803.         case(COMPRESS={Yes}&&@filechk(ARCHIVER)={Yes}&&type={t},
  1804.             {Yes},
  1805.             {
  1806.             dispoff(!DEBUG);
  1807.             command({del }|TEMP2|@wildc);
  1808.             dispoff({No});
  1809.             })
  1810.         },,
  1811.         {
  1812.         footnote({カーソルを会議室タイトル行に置いてください});
  1813.         wait(1);im({Yes})
  1814.         });
  1815.     };
  1816.  
  1817. %fe    {
  1818.     case(COMPRESS={Yes}&&@filechk(ARCHIVER)={Yes},
  1819.         {No},
  1820.         {case(LOGmode,{forum},
  1821.             {im(fname)},,{im({Niftylog})})
  1822.         },
  1823.         {Yes},
  1824.         {case(LOGmode,{forum},{im(fname)},,{im({Niftylog})})
  1825.         })
  1826.     };
  1827. %wc    {
  1828.     case(COMPRESS={Yes}&&@filechk(ARCHIVER)={Yes},
  1829.         {No},
  1830.         {case(type,{c},{im({\}|date|{*.*})},{w},{im({})},
  1831.             {t},{im({\}|date|{*.*})},{b},{im({})})
  1832.         },
  1833.         {Yes},
  1834.         {case(type,{w},{im({.LZH})},{b},{im({.LZH})})});
  1835.     };
  1836. %wildc    {
  1837.     %mm    @case    (@getchar(date,3,2),
  1838.             {01},{im({1})},{02},{im({2})},{03},{im({3})},
  1839.             {04},{im({4})},{05},{im({5})},{06},{im({6})},
  1840.             {07},{im({7})},{08},{im({8})},{09},{im({9})},
  1841.             {10},{im({a})},{11},{im({b})},{12},{im({c})}
  1842.             );
  1843.     im(mm|@getchar(date,5,2)|{*.*})
  1844.     };
  1845.  
  1846. %Viewlib{
  1847.     %m1    memono+1;
  1848.     %TREE    {
  1849.         var    a    [6];
  1850.         loop    ({
  1851.             SNDMSG({erande_f.snd});
  1852.             footnote({    戻る            }|
  1853.                  { 木      草         }|
  1854.                  {調整    },{b});
  1855.             waitx();
  1856.             a:=@case(@xtype,
  1857.                 102,{im({cancel})},    202,{im({cancel})},
  1858.                 106,{ViewTRE2(m1,LOGFILE,{2})},
  1859.                 206,{ViewTRE2(m1,LOGFILE,{2})},
  1860.                 108,{ViewTRE2(m1,LOGFILE,{1})},
  1861.                 208,{ViewTRE2(m1,LOGFILE,{1})},
  1862.                 111,delIDX,    211,delIDX,
  1863.                 ,{im({Yes})}
  1864.                 );
  1865.             });
  1866.         im(a={cancel}||a={Yes});
  1867.         };
  1868.     %UPDATE    {
  1869.         var    a    [6];
  1870.         loop    ({
  1871.             SNDMSG({erande_f.snd});
  1872.             footnote({    戻る            }|
  1873.                  {更新削除            }|
  1874.                  {        },{b});
  1875.             waitx();
  1876.             a:=@case(@xtype,
  1877.                 102,{im({cancel})},    202,{im({cancel})},
  1878.                 106,updLOG,        206,updLOG,
  1879.                 107,{delLOG;im({Yes})},    207,{delLOG;im({Yes})},
  1880.                 ,{im({Yes})}
  1881.                 );
  1882.             });
  1883.         im(a={cancel}||a={Yes});
  1884.         };
  1885.     %EXTEND    {
  1886.         var    a    [6];
  1887.         loop    ({
  1888.             SNDMSG({erande_f.snd});
  1889.             footnote({    戻る            }|
  1890.                  {解石PROF98罫        }|
  1891.                  {        },{b});
  1892.             waitx();
  1893.             a:=@case(@xtype,
  1894.                 102,{im({cancel})},    202,{im({cancel})},
  1895.                 106,ISH,        206,ISH,
  1896.                 107,{PROFILE(LOGFILE)},    207,{PROFILE(LOGFILE)},
  1897.                 108,{JIS98(m1)},    208,{JIS98(m1)},
  1898.                 ,{im({Yes})}
  1899.                 );
  1900.             });
  1901.         im(a={cancel}||a={Yes});
  1902.         };
  1903.  
  1904.     InactMemo;
  1905.     case(@mlast>=m1,{Yes},{mclear(m1)});
  1906.     mread(LOGFILE,m1);
  1907.     mopen(m1,0,21,639,459,{w});
  1908.     loop    ({
  1909.         SNDMSG({erande_f.snd});
  1910.         footnote({EXIT戻る            }|
  1911.              {コメントPAD    TREE    }|
  1912.              {変更拡張},{b});
  1913.         waitx();
  1914.         case(@xtype,
  1915.             101,{FLG:={Return};im({No})},
  1916.             201,{FLG:={Return};im({No})},
  1917.             102,{im({No})},        202,{im({No})},
  1918.             106,{COMMENT(m1)},    206,{COMMENT(m1)},
  1919.             107,{PADMAKE(m1)},    207,{PADMAKE(m1)},
  1920.             109,{TREE},        209,{TREE},
  1921.             111,{UPDATE},        211,{UPDATE},
  1922.             112,{EXTEND},        212,{EXTEND},
  1923.             m1,{COMMENT(m1)},
  1924.             ,{im({Yes})}
  1925.             );
  1926.         });
  1927.     DeleteMemo(m1);
  1928.     };
  1929.  
  1930. %SelectS{
  1931.     PickFile;
  1932.     case    (@getchar(line1,17,4),{)   },
  1933.         {
  1934.         %n @getchar(line1,1,2)+1-1;
  1935.         %rtndir @case(LOGmode={forum}&&COMPRESS={No},
  1936.                 {Yes},{im(LOG2|fname|{\RTN\})},
  1937.                 {No},{im(LOG2|{RTN\}|fname|{\})}
  1938.                 );
  1939.         LOGFILE:=rtndir|{MES}|@ZERO(n,2)|{.RTN};
  1940.         case(@filechk(LOGFILE),{Yes},
  1941.             {
  1942.             %cdir    @getcdir;
  1943.             %memono memono+1;InactMemo;madd(memono,{});
  1944.             setcdir(CDIR);#FAPXVRTN.PLP;setcdir(cdir);
  1945.             %memono memono-1;
  1946.             },
  1947.             {No},
  1948.             {
  1949.             footnote(@SPP(n,3,)|{番会議室のRTN}|
  1950.                 {リストファイルがありません});
  1951.             wait(1)
  1952.             })
  1953.         },,
  1954.         {case(@getchar(line1,18,3),{)  },
  1955.             {
  1956.             %n @getchar(line1,3,2)+1-1;
  1957.             %dldir @case(LOGmode={forum}&&COMPRESS={No},
  1958.                     {Yes},{im(LOG2|fname|{\LIB\})},
  1959.                     {No},{im(LOG2|{LIB\}|fname|{\})}
  1960.                     );
  1961.             LOGFILE:=dldir|{LIB}|@ZERO(n,2)|{.LST};
  1962.             case(@filechk(LOGFILE),{Yes},{Viewlib},{No},
  1963.                 {
  1964.                 LOGFILE:=CATLOG|{\}|fname|
  1965.                     {\LIB}|@ZERO(n,2)|{.TXT};
  1966.                 case(@filechk(LOGFILE),{Yes},{Viewlib},{No},
  1967.                     {
  1968.                     footnote(@SPP(n,3,)|{番ライブラリの}|
  1969.                     {リストファイルがありません});
  1970.                     wait(1)
  1971.                     })
  1972.                 })
  1973.             },,
  1974.             {footnote({カーソルをタイトル行に置いて}|
  1975.                     {ください});wait(1)
  1976.             })
  1977.         });
  1978.     case(FLG,{Return},{im({No})},,{im({Yes})});
  1979.     };
  1980.  
  1981. /************************************************************************
  1982. *    コメントツリー表示処理                        *
  1983. *************************************************************************/
  1984. %ViewTREE{
  1985.     [memono,flg]
  1986.     PickFile;
  1987.     ViewTRE2(memono,file1,flg);
  1988.     };
  1989.  
  1990. %ViewTRE2{
  1991.     [memono,file,flg]
  1992.     %fcx @replace(@body(flg,{2 -B},{ -}),{-M},{MES:});
  1993.     %fcx @case(fcx,{},{im({})},,{im({ FORUM:}|fcx)});
  1994.     footnote({コメントツリー作成中  中断:[ESC]  }|file|fcx);
  1995.     %cdir    @getcdir;
  1996.     setcdir(CDIR);
  1997.     case    (DEBUG,
  1998.         {Yes},
  1999.         {command({ctd -}|flg|{ -s}|SYSDIR|{ -o }|TEMP|{ }|file)},
  2000.         {No},
  2001.         {
  2002.         dispoff({Yes});
  2003.         command({ctd -D}|flg|{ -s}|SYSDIR|{ -o }|TEMP|{ }|file);
  2004.         dispoff({No});
  2005.         });
  2006.     setcdir(cdir);
  2007.     InactMemo;
  2008.     case    (@filechk(TEMP2|{comtree0.tmp}),
  2009.         {Yes},
  2010.         {
  2011.         madd(memono+1,{});
  2012.         mclear(memono+1);
  2013.         mread(TEMP2|{comtree0.tmp},memono+1);
  2014.         Viewtre1(@getchar(flg,1,1));
  2015.         },
  2016.         {No},
  2017.         {
  2018.         footnote({発言がありません});
  2019.         wait(1);
  2020.         });
  2021.     };
  2022.  
  2023. /*    コメントツリーからの発言指定(初回のみ)    */
  2024. %Viewtre1{
  2025.     [tg]
  2026.     mopen(memono+1,0,181,639,459,{r});
  2027.     var    atg[1];
  2028.     atg:=tg;
  2029.     %cga {case(atg,1,{atg:=2},2,{atg:=1})};
  2030.     loop    ({
  2031.         SNDMSG({erande_f.snd});
  2032.         %fbn @case(atg,1,{im({ 木 })},2,{im({ 草 })});
  2033.         footnote({EXIT戻る表示        }|
  2034.             {            }|fbn|{    }|{        },{b});
  2035.         waitx();
  2036.         case    (@xtype,
  2037.             101,{FLG:={Return};im({No})},
  2038.             201,{FLG:={Return};im({No})},
  2039.             102,{im({No})},    202,{im({No})},
  2040.             103,{viewtree(atg)},203,{viewtree(atg)},
  2041.             109,{cga;retree(atg,memono+1)},
  2042.             209,{cga;retree(atg,memono+1)},
  2043.             memono+1,{viewtree(atg)},
  2044.             ,{im({Yes})}
  2045.             );
  2046.         });
  2047.     DeleteMemo(memono+1);
  2048.     dispoff(!DEBUG);
  2049.     %cdir    @getcdir;
  2050.     setcdir(CDIR);
  2051.     command({ctd -DelLzhFile});
  2052.     rmdir(TEMP2|{)LZH(});
  2053.     setcdir(cdir);
  2054.     dispoff({No});
  2055.     case(FLG,{Return},{im({No})},,{im({Yes})});
  2056.     };
  2057.  
  2058. %viewtree{
  2059.     [tg]
  2060.     var    atg[1];
  2061.     atg:=tg;
  2062.     %cga {case(atg,1,{atg:=2},2,{atg:=1})};
  2063.     %EXTEND    {
  2064.         var    a    [6];
  2065.         loop    ({
  2066.             SNDMSG({erande_f.snd});
  2067.             footnote({    戻る            }|
  2068.                  {解石PROF98罫        }|
  2069.                  {        },{b});
  2070.             waitx();
  2071.             a:=@case(@xtype,
  2072.                 102,{im({cancel})},    202,{im({cancel})},
  2073.                 106,
  2074.                 {
  2075.                 InactMemo;
  2076.                 %LOGFILE tempfile;
  2077.                 ISH;im({Yes});
  2078.                 },
  2079.                 206,
  2080.                 {
  2081.                 InactMemo;
  2082.                 %LOGFILE tempfile;
  2083.                 ISH;im({Yes});
  2084.                 },
  2085.                 107,{PROFILE(tempfile)},
  2086.                 207,{PROFILE(tempfile)},
  2087.                 108,{JIS98tre(memono+2)},
  2088.                 208,{JIS98tre(memono+2)},
  2089.                 ,{im({Yes})}
  2090.                 );
  2091.             });
  2092.         im(a={cancel}||a={Yes});
  2093.         };
  2094.  
  2095.     var    lno1    [8];
  2096.     %tempfile    TEMP2|{comtxt.tmp};
  2097.     lno1:=    @xlinenum;
  2098.     case    (@mcheck==memono+1,
  2099.         {Yes},
  2100.         {
  2101.         loop    ({
  2102.             dispoff(!DEBUG);
  2103.             %cdir    @getcdir;
  2104.             setcdir(CDIR);
  2105.             delfile(tempfile);
  2106.             command({ctl}|{ -s}|SYSDIR|{ -o }|TEMP|{ -l }|lno1);
  2107.             setcdir(cdir);
  2108.             dispoff({No});
  2109.             InactMemo;
  2110.             case(@mlast>=memono+2,{Yes},{mclear(memono+2)});
  2111.             madd(memono+2,{});
  2112.             mread(tempfile,memono+2);
  2113.             mopen(memono+2,0,21,639,359,{w});
  2114.             loop    ({
  2115.                 case    (@mcheck<>memono+2,
  2116.                     {Yes},
  2117.                     {
  2118.                     InactMemo;
  2119.                     mopen(memono+2,0,21,639,359,{w});
  2120.                     });
  2121.                 SNDMSG({erande_f.snd});
  2122.                 %fbn @case(atg,1,{im({ 木 })},2,{im({ 草 })});
  2123.                 footnote({EXIT戻る表示 前  次 }|
  2124.                     {コメントPAD    }|fbn|{        拡張},{b});
  2125.                 waitx();
  2126.                 case    (@xtype,
  2127.                     101,{FLG:={Return};im({No})},
  2128.                     201,{FLG:={Return};im({No})},
  2129.                     102,{FLG:={Exit};im({No})},
  2130.                     202,{FLG:={Exit};im({No})},
  2131.                     103,
  2132.                     {
  2133.                     case    (@mcheck==memono+1,
  2134.                         {Yes},
  2135.                         {
  2136.                         lno1:=@xlinenum;
  2137.                         FLG:={Select};im({No});
  2138.                         },
  2139.                         {No},{InactMemo;im({Yes})}
  2140.                         );
  2141.                     },
  2142.                     203,
  2143.                     {
  2144.                     case    (@mcheck==memono+1,
  2145.                         {Yes},
  2146.                         {
  2147.                         lno1:=@xlinenum;
  2148.                         FLG:={Select};im({No});
  2149.                         },
  2150.                         {No},{InactMemo;im({Yes})}
  2151.                         );
  2152.                     },
  2153.                     104,
  2154.                     {
  2155.                     case(lno1>1,{Yes},{lno1:=lno1-1});
  2156.                     FLG:={Select};im({No});
  2157.                     },
  2158.                     204,
  2159.                     {
  2160.                     case(lno1>1,{Yes},{lno1:=lno1-1});
  2161.                     FLG:={Select};im({No});
  2162.                     },
  2163.                     105,
  2164.                     {
  2165.                     case(lno1<@nolmemo(memono+1)-1,
  2166.                         {Yes},{lno1:=lno1+1});
  2167.                     FLG:={Select};im({No});
  2168.                     },
  2169.                     205,
  2170.                     {
  2171.                     case(lno1<@nolmemo(memono+1)-1,
  2172.                         {Yes},{lno1:=lno1+1});
  2173.                     FLG:={Select};im({No});
  2174.                     },
  2175.                     106,{COMMENT1(memono,@xlinenum)},
  2176.                     206,{COMMENT1(memono,@xlinenum)},
  2177.                     107,{PADMAKE1(memono,@xlinenum)},
  2178.                     207,{PADMAKE1(memono,@xlinenum)},
  2179.                     memono+1,
  2180.                     {
  2181.                     lno1:=@xlinenum;
  2182.                     FLG:={Select};im({No});
  2183.                     },
  2184.                     109,{cga;retree(atg,memono+1)},
  2185.                     209,{cga;retree(atg,memono+1)},
  2186.                     112,{EXTEND},    212,{EXTEND},
  2187.                     memono+2,
  2188.                     {COMMENT1(memono,@xlinenum)},
  2189.                     ,{im({Yes})}
  2190.                     );
  2191.                 });
  2192.             case(FLG,{Select},{im({Yes})},,{im({No})});
  2193.             });
  2194.         });
  2195.     };
  2196.  
  2197. /*    コメントツリーの再作成    */
  2198. %retree    {
  2199.     [flg,memono]
  2200.     var     article    [82];
  2201.     var    lineno    [5];
  2202.     %lineno    @case    (@mcheck==memono,
  2203.             {Yes},
  2204.             {case(@xlinenum<1,{Yes},{im(1)},{No},{im(@xlinenum)})},
  2205.             {No},{im(1)}
  2206.             );
  2207.     article:=@getline(@memo(memono),lineno,1);
  2208.     article:=@tail(article,{┣});
  2209.     article:=@tail(article,{┗});
  2210.     case    (@getchar(article,1,3),
  2211.         {   },{article:=@getchar(article,4)},
  2212.         {*  },{article:=@getchar(article,4)}
  2213.         );
  2214.     InactMemo;
  2215.     setcdir(CDIR);
  2216.     case    (DEBUG,
  2217.         {Yes},{command({ctt -LD}|flg|{ -s}|SYSDIR|{ -o }|TEMP)},
  2218.         {No},
  2219.         {
  2220.         dispoff({Yes});
  2221.         command({ctt -L}|flg|{ -s}|SYSDIR|{ -o }|TEMP);
  2222.         dispoff({No});
  2223.         });
  2224.     mclear(memono);
  2225.     mread(TEMP2|{comtree0.tmp},memono);
  2226.     mopen(memono,0,181,639,459,{w});
  2227.     %moveline @noline(@head(@memo(memono),article));
  2228.     curline(moveline+10);curline(moveline);
  2229.     im({Yes});
  2230.     };
  2231.  
  2232. /************************************************************************
  2233. *    コメント作成処理                            *
  2234. *************************************************************************/
  2235. /*    通常モードからのコメント作成処理    */
  2236. %COMMENT{
  2237.     [memono]
  2238.     %LineNo @xlinenum;
  2239.     %cdir    @getcdir;
  2240.     setcdir(CDIR);#FAPXVRES.PLP(memono,LOGFILE,LineNo);
  2241.     setcdir(cdir);
  2242.     InactMemo;
  2243.     mopen(memono,0,21,639,459,{w});
  2244.     };
  2245.  
  2246. /*    ツリーモードからのコメント作成処理    */
  2247. %COMMENT1{
  2248.     [memono,lineno]
  2249.     %cdir    @getcdir;
  2250.     setcdir(CDIR);#FAPXVRES.PLP(memono+2,tempfile,lineno);
  2251.     setcdir(cdir);
  2252.     InactMemo;
  2253.     mopen(memono+1,0,181,639,459,{r});
  2254.     mclose(1);
  2255.     im({Yes});
  2256.     };
  2257.  
  2258. /************************************************************************
  2259. *    PAD作成部                            *
  2260. *************************************************************************/
  2261. /*    通常モードからのPAD作成処理    */
  2262. %PADMAKE{
  2263.     [memono]
  2264.     %LineNo @xlinenum;
  2265.     %cdir    @getcdir;
  2266.     setcdir(CDIR);#FAPXVPAD.PLP(memono,LOGFILE,LineNo);
  2267.     setcdir(cdir);
  2268.     InactMemo;
  2269.     mopen(memono,0,21,639,459,{w});
  2270.     };
  2271.  
  2272. /*    ツリーモードからのPAD作成処理    */
  2273. %PADMAKE1{
  2274.     [memono,lineno]
  2275.     %cdir    @getcdir;
  2276.     setcdir(CDIR);#FAPXVPAD.PLP(memono+2,tempfile,lineno);
  2277.     setcdir(cdir);
  2278.     InactMemo;
  2279.     mopen(memono+1,0,181,639,459,{r});
  2280.     mclose(1);
  2281.     im({Yes});
  2282.     };
  2283.  
  2284. /************************************************************************
  2285. *    プロフィール参照、プロフィールダウンロード予約            *
  2286. *************************************************************************/
  2287. %PROFILE{
  2288.     [file]
  2289.     %txf @TXLLOG2(file,@xlinenum);
  2290.     InactMemo;
  2291.     %memono    @mlast+1;
  2292.     case    (txf,
  2293.         {error},,
  2294.         ,
  2295.         {
  2296.         %id    @case    (@exist(txf,{mail=}),
  2297.                 {Yes},{im(@tail(txf,{mail=},{;}))},
  2298.                 {No},{im(@tail(txf,{;resp=},{;}))}
  2299.                 );
  2300.         %prf    LOG2|{PROFILE\}|id|{.PRF};
  2301.         %reserv    {
  2302.             write(UP2|{fapxdown.ctl},{profile=}|id|{;\n});
  2303.             footnote(id|{のプロフィールダウンロードを}|
  2304.                 {予約しました});
  2305.             wait(1);
  2306.             };
  2307.         case    (@filechk(prf),
  2308.             {Yes},
  2309.             {
  2310.             madd(memono,{});
  2311.             mread(prf,memono);
  2312.             mopen(memono,0,181,639,459,{w});
  2313.             loop    ({
  2314.                 footnote({終了            追加},{b});
  2315.                 waitx();
  2316.                 case    (@xtype,
  2317.                     {101},{im({No})},
  2318.                     {201},{im({No})},
  2319.                     {105},{reserv;im({Yes})},
  2320.                     {205},{reserv;im({Yes})},
  2321.                     ,{im({Yes})}
  2322.                     );
  2323.                 });
  2324.             DeleteMemo(memono);
  2325.             },
  2326.             {No},
  2327.             {
  2328.             /* PROFILE取得予約処理 */
  2329.             footnote(id|{のプロフィール情報がありません。}|
  2330.                 {ダウンード予約をしますか?});
  2331.             SNDMSG({erande_f.snd});
  2332.             select    (id|
  2333.                 {のダウンロード予約をおこないますか},
  2334.                 Wtime4,,
  2335.                 {  す  る  },{reserv},
  2336.                 {  しない  },
  2337.                 );
  2338.             });
  2339.         });
  2340.     InactMemo;
  2341.     mopen(@mlast);
  2342.     im({Yes});
  2343.     };
  2344.  
  2345. /************************************************************************
  2346. *    ログディレクトリ指定処理                        *
  2347. *************************************************************************/
  2348. %SETDIR    {
  2349.     %ichigi    {
  2350.         footnote({指定するディレクトリへ移動してキャンセルしてしてください});
  2351.         SNDMSG({erande_f.snd});
  2352.         filesel;
  2353.         im(@getcdir);
  2354.         };
  2355.     
  2356.     footnote({参照するログファイルのディレクトリを指定してください});
  2357.     SNDMSG({erande_f.snd});
  2358.     case    (CATLOG<>{},
  2359.         {Yes},
  2360.         {
  2361.         case    (VIEWLOG={},
  2362.             {Yes},
  2363.             {
  2364.             select({参照するログディレクトリは?},
  2365.                 Wtime4,{im(LOG)},
  2366.                 LOG,{im(LOG)},
  2367.                 {CATLOG出力ディレクトリ},{im(CATLOG)},
  2368.                 {一時的に指定},{ichigi},
  2369.                 { バックログ },{im({*BACKLOG})},
  2370.                 {  取  消  },{im({})});
  2371.             },
  2372.             {No},
  2373.             {
  2374.             select({参照するログディレクトリは?},
  2375.                 Wtime4,{im(LOG)},
  2376.                 LOG,{im(LOG)},
  2377.                 {CATLOG出力ディレクトリ},{im(CATLOG)},
  2378.                 VIEWLOG,{im(VIEWLOG)},
  2379.                 {一時的に指定},{ichigi},
  2380.                 { バックログ },{im({*BACKLOG})},
  2381.                 {  取  消  },{im({})});
  2382.             });
  2383.         },
  2384.         {No},
  2385.         {
  2386.         case    (VIEWLOG={},
  2387.             {Yes},
  2388.             {
  2389.             select({参照するログディレクトリは?},
  2390.                 Wtime4,{im(LOG)},
  2391.                 LOG,{im(LOG)},
  2392.                 {一時的に指定},{ichigi},
  2393.                 { バックログ },{im({*BACKLOG})},
  2394.                 {  取  消  },{im({})});
  2395.             },
  2396.             {No},
  2397.             {
  2398.             select({参照するログディレクトリは?},
  2399.                 Wtime4,{im(LOG)},
  2400.                 LOG,{im(LOG)},
  2401.                 VIEWLOG,{im(VIEWLOG)},
  2402.                 {一時的に指定},{ichigi},
  2403.                 { バックログ },{im({*BACKLOG})},
  2404.                 {  取  消  },{im({})});
  2405.             });
  2406.         });
  2407.     footnote({});
  2408.     };
  2409.  
  2410. /************************************************************************
  2411. *   ライブラリリストの検索                                              *
  2412. ************************************************************************/
  2413. %ViewLIBSEA{
  2414.     var    Sel    [128];
  2415.     var    sel1    [16];
  2416.     var    sel2    [16];
  2417.     var    sel3    [16];
  2418.     var    sel4    [16];
  2419.     var    sel5    [16];
  2420.     var    andor    [4];
  2421.     var    lib    [128];
  2422.     var    id    [4];
  2423.     var    ok    [4];
  2424.  
  2425.     %ViewFile{
  2426.         mread(LOGFILE,m1);
  2427.         mopen(m1,0,21,639,459,{w});
  2428.         loop    ({
  2429.             footnote({終了                }|
  2430.                  {コメントPAD            }|{        },{b});
  2431.             waitx();
  2432.             case(@xtype,
  2433.                 101,{InactMemo;im({No})},
  2434.                 201,{InactMemo;im({No})},
  2435.                 106,{COMMENT(m1)},
  2436.                 206,{COMMENT(m1)},
  2437.                 107,{PADMAKE(m1)},
  2438.                 207,{PADMAKE(m1)},
  2439.                 m1, {COMMENT(m1)},
  2440.                 ,{im({Yes})}
  2441.                 );
  2442.             });
  2443.         };
  2444.  
  2445.     %execLIBSEA{
  2446.         %cdir @getcdir;
  2447.         LOGFILE := @dir2(lib)|{LIBSEA.SEA};
  2448.         %grepfile TEMP2|{LSEAGREP.TMP};
  2449.         case(DEBUG,{Yes},
  2450.             {display({ViewLIBSEA LOGFILE (}|LOGFILE|{)\n})});
  2451.         case(DEBUG,{Yes},
  2452.             {display({ViewLIBSEA grepfile(}|grepfile|{)\n})});
  2453.         setcdir(CDIR);
  2454.         dispoff(!DEBUG);
  2455.         footnote({ライブラリリスト検索中});
  2456.         Sel:=    @case(andor={ 2},
  2457.             {Yes},{im({-a })},
  2458.             {No},{im({})})|Sel;
  2459.         command({ygrep -rk }|Sel|@dir2(lib)|{LIB[0-9]*.* >}|grepfile);
  2460.         command({sed -f LIBSEA.SED }|grepfile|{ >}|LOGFILE);
  2461.         case(DEBUG,{No},{delfile(grepfile)});
  2462.         dispoff({No});
  2463.         setcdir(cdir);
  2464.         case    (@filechk(LOGFILE)={Yes} && @fileleng(LOGFILE)>0, 
  2465.             {Yes},
  2466.             {
  2467.             %m1 memono;
  2468.             InactMemo;
  2469.             case(@mlast>=m1,{Yes},{mclear(m1)});
  2470.             ViewFile;
  2471.             DeleteMemo(memono);
  2472.             },
  2473.             {No},
  2474.             {footnote({検索に失敗しました});wait(2)}
  2475.             );
  2476.         };
  2477.  
  2478.     %execMESSEA{
  2479.         %cdir @getcdir;
  2480.         LOGFILE := @dir2(lib)|{MESSEA.SEA};
  2481.         %grepfile TEMP2|{MSEAGREP.TMP};
  2482.         case(DEBUG,{Yes},
  2483.             {display({ViewLIBSEA LOGFILE (}|LOGFILE|{)\n})});
  2484.         case(DEBUG,{Yes},
  2485.             {display({ViewLIBSEA grepfile(}|grepfile|{)\n})});
  2486.         setcdir(CDIR);
  2487.         dispoff(!DEBUG);
  2488.         footnote({ログファイル検索中});
  2489.         command({ygrep -rj -f MESSEA.PAT -e }|Sel|
  2490.             @dir2(lib)|{*.{LOG,TXT,HP,PA}* >}|grepfile);
  2491.         command({sed -N -f MESSEA.SED }|grepfile|{ >}|LOGFILE);
  2492.         case(DEBUG,{No},{delfile(grepfile)});
  2493.         dispoff({No});
  2494.         setcdir(cdir);
  2495.         case    (@filechk(LOGFILE)={Yes} && @fileleng(LOGFILE)>0, 
  2496.             {Yes},
  2497.             {
  2498.             %m1 memono;
  2499.             InactMemo;
  2500.             case(@mlast>=m1,{Yes},{mclear(m1)});
  2501.             ViewFile;
  2502.             DeleteMemo(memono);
  2503.             },
  2504.             {No},
  2505.             {footnote({検索に失敗しました});wait(2)}
  2506.             );
  2507.         };
  2508.  
  2509.     SNDMSG({erande_f.snd});
  2510.     Sel:=    {};
  2511.     sel1:=    {};
  2512.     sel2:=    {};
  2513.     sel3:=    {};
  2514.     sel4:=    {};
  2515.     sel5:=    {};
  2516.     andor:=    { 1};
  2517.     lib:=    logdir;
  2518.     id:=    {};
  2519.     ok:=    {};
  2520.  
  2521.     loop    ({
  2522.         footnote({検索内容を入力してください});
  2523.         %a @plane(
  2524.             {c検索内容を入力してください\n}|
  2525.             {c  検索項目の入力\n}|
  2526.             {t    項目1 /xxxxxxxxxxxxxxxx\n}|
  2527.             {t    項目2 /xxxxxxxxxxxxxxxx\n}|
  2528.             {t    項目3 /xxxxxxxxxxxxxxxx\n}|
  2529.             {t    項目4 /xxxxxxxxxxxxxxxx\n}|
  2530.             {t    項目5 /xxxxxxxxxxxxxxxx\n}|
  2531.             {s           /ID検索\nc\n}|
  2532.             {r  検索方法 / OR /AND\n}|
  2533.             {c            (ログは OR 検索のみ)\nc\n}|
  2534.             {t  検索 Dir /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\nc\n}|
  2535.             {s  検索開始 /  ロ    グ  / ライブラリ /  取    消  },
  2536.             sel1,sel2,sel3,sel4,sel5,andor,lib,1
  2537.             );
  2538.         sel1:=    @head(@getline(a,1,1),{\n});
  2539.         sel2:=    @head(@getline(a,2,1),{\n});
  2540.         sel3:=    @head(@getline(a,3,1),{\n});
  2541.         sel4:=    @head(@getline(a,4,1),{\n});
  2542.         sel5:=    @head(@getline(a,5,1),{\n});
  2543.         id:=    @head(@getline(a,6,1),{\n});
  2544.         andor:=    @head(@getline(a,7,1),{\n});
  2545.         lib:=    @head(@getline(a,8,1),{\n});
  2546.         ok:=    @head(@getline(a,9,1),{\n});
  2547.         case    (DEBUG,
  2548.             {Yes},
  2549.             {
  2550.             display({ViewLIBSEA sel1 (}|sel1|{)\n});
  2551.             display({ViewLIBSEA sel2 (}|sel2|{)\n});
  2552.             display({ViewLIBSEA sel3 (}|sel3|{)\n});
  2553.             display({ViewLIBSEA sel4 (}|sel4|{)\n});
  2554.             display({ViewLIBSEA sel5 (}|sel5|{)\n});
  2555.             display({ViewLIBSEA andor(}|andor|{)\n});
  2556.             display({ViewLIBSEA lib  (}|lib|{)\n});
  2557.             display({ViewLIBSEA ok   (}|ok|{)\n});
  2558.             });
  2559.         case    (id,
  2560.             { 1},{sel5:=@IDsearch;im({Yes})},
  2561.             ,{
  2562.             case    (ok={ 1}||ok={ 2},
  2563.                 {Yes},
  2564.                 {
  2565.                 Sel:=    @case(sel1<>{},{Yes},{im(sel1|{:})},
  2566.                             {No},{im({})})|
  2567.                     @case(sel2<>{},{Yes},{im(sel2|{:})},
  2568.                             {No},{im({})})|
  2569.                     @case(sel3<>{},{Yes},{im(sel3|{:})},
  2570.                             {No},{im({})})|
  2571.                     @case(sel4<>{},{Yes},{im(sel4|{:})},
  2572.                             {No},{im({})})|
  2573.                     @case(sel5<>{},{Yes},{im(sel5|{:})},
  2574.                             {No},{im({})});
  2575.                 case    (Sel<>{},
  2576.                     {Yes},
  2577.                     {
  2578.                     Sel:=@body(Sel,,{:})|{ };
  2579.                     im({No});
  2580.                     },
  2581.                     ,
  2582.                     {
  2583.                     footnote({検索項目が設定}|
  2584.                         {されていません});
  2585.                     wait(2);im({Yes});
  2586.                     });
  2587.                 },
  2588.                 ,{im({No})}
  2589.                 );
  2590.             });
  2591.         });
  2592.     case(DEBUG,{Yes},{display({ViewLIBSEA Sel  (}|Sel|{)\n})});
  2593.     case    (Sel<>{},
  2594.         {Yes},
  2595.         {case    (ok,
  2596.             { 1}, {execMESSEA},
  2597.             { 2}, {execLIBSEA}
  2598.             );
  2599.         });
  2600.     im({Yes});
  2601.     };
  2602.  
  2603. /************************************************************************
  2604. *    受信ログ参照処理メイン                        *
  2605. *************************************************************************/
  2606. var    l1    [82];
  2607. var    l2    [82];
  2608. var    DOCFILE    [64];
  2609. var    DATAFILE[64];
  2610. var    LOGFILE    [64];
  2611. var    FLG    [6];
  2612.  
  2613. var    LineNo    [6];
  2614. var    MemoLine[6];
  2615. var    line1    [128];
  2616. var    file1    [64];
  2617.  
  2618. var    current    [2];
  2619. var    dirlist    [640];
  2620. current:=0;
  2621. dirlist:=CRLF|CRLF|CRLF|CRLF|CRLF|CRLF|CRLF|CRLF|CRLF|CRLF;
  2622. FLG:={};
  2623. footnote({受信ログを参照します});
  2624. %memono    @mlast+1;
  2625. %setdir    @SETDIR;
  2626. case(setdir,{},,,{DELDIRF;ViewLOG(setdir,memono,0);DELDIRF});
  2627. delfile(TEMP2|{PAD\comtree0.tmp});
  2628. delfile(TEMP2|{PAD\comtxt.tmp});
  2629.